![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() Hola amigos, estoy experimentando problemas para migrar un proyecto que anterior mente estaba en Delphi 10.3, ya que al pasarlo a 12.1 este no compila, para Windows, solo añadí una librería y con eso compilo pero para Android de 64 bits me marca error en dos funciones
function Read(var Buffer; Count: Integer): Integer; override; function Write(const Buffer; Count: Integer): Integer; override; lo cual se me hace extraño, soy nuevo en un foro y no se que más poner para que sea mas clara la información, este es el error que me arroja la consola. [DCC Error] uEncryptedZipFile.pas(104): E2137 Method 'Read' not found in base class [DCC Error] uEncryptedZipFile.pas(106): E2137 Method 'Write' not found in base class [DCC Fatal Error] uEnvios.pas(14): F2063 Could not compile used unit 'uEncryptedZipFile.pas' Si a alguien le ha pasado algo similar le agradecería su ayuda, de antemano muchas gracias y excelente día!!! ![]() |
#2
|
||||
|
||||
Revisa las funciones que usas de la unidad uEncryptedZipFile.pas
Probablemente haya algún cambio de Delphi 10.3 a Delphi 12.1. Prueba añadiendo las funciones de esa unidad de Delphi 10.3 a una unidad creada por ti (uFunciones.pas por ejemplo) a tu proyecto en Delphi 12.1 |
#3
|
|||
|
|||
![]() Ok lo voy a intentar, pero me doy cuenta que no solo es eso, creo que son mas lineas, ya que al entrar a otros .pas, me marca mas errores
lo que he intentado es hacerle un Deploy antes de que compile y tambien me marco error al crear el manifest [MSBuild Error] The "CreateAndroidManifestFile" task failed unexpectedly. System.NotSupportedException: The given path's format is not supported. at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.StreamWriter.CreateFile(String path, Boolean append, Boolean checkHost) at System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize, Boolean checkHost) at System.IO.StreamWriter..ctor(String path, Boolean append) at Borland.Build.Tasks.Shared.CreateAndroidManifestFile.genManifestFile() at Borland.Build.Tasks.Shared.CreateAndroidManifestFile.Execute() at Microsoft.Build.BuildEngine.TaskEngine.ExecuteInstantiatedTask(EngineProxy engineProxy, ItemBucket bucket, TaskExecutionMode howToExecuteTask, ITask task, Boolean& taskResult) Así que ya no se que es lo que esta fallando, estuve investigando y al parecer también puede ser que no se haya instalado correctamente el sdk, ¿Alguna vez has o han experimentado algo similar? y si es así ¿Como lo solucionaron?, aun no puedo resolverlo |
#4
|
||||
|
||||
Cita:
Deberías revisar si esas funciones están disponibles para Android64. Los errores son claros: [DCC Error] uEncryptedZipFile.pas(104): E2137 Method 'Read' not found in base class [DCC Error] uEncryptedZipFile.pas(106): E2137 Method 'Write' not found in base class => En esta unit (revisa las líneas 104 y 106) hay una clase que tiene definidos los métodos Read y Write, que no están definidos en la clase base. Habría que ver cual es la clase base y revisar si tiene esos métdos yt cómo los tiene definidos La tercera línea de error está relacionada con estas 2. Cita:
Antes de continuar con el proyecto debes ir solucionando errores (los anteriores). Si te vas saltando pasos, los siguientes errores puedes ser acumulativos y tal vez no te puedas fiar de ellos.. No tiene mucho sentido hacer un Deploy si el proyecto no compila.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
![]() Ok, llevo todo el día de ayer y hoy tratando de modificarlo.
obviamente ya vi las líneas 104 y 106, de hecho son asi 104: function Read(var Buffer; Count: Integer): Integer; override; 106: function Write(const Buffer; Count: Integer): Integer; override; están en este type si me voy a la clase TStream, me manda a un archivo llamado "System.Classes" y ahí esta esto: TStream = class(TObject) Y ahora si me voy a TObject, me manda a otro archivo llamado "System", en donde esta esto: TObject = class supongo que eso quiere decir que ahí es la clase base, y como es de esperarse la funcion Read y write no están definidas en TStream ni en TObject así que supongo que ahí esta el error, aquí el problema es que en los archivos llamados "System.Classes" y "System", están protegidos por consecuente, no me deja editarlos asi que vuelvo a lo mismo, no puedo definir estas funciones en la clase base. Última edición por delphi.com.ar fecha: 05-07-2024 a las 01:41:09. Razón: Se agregó la etiqueta CODE para más fácil lectura. |
#6
|
||||
|
||||
Honestamente no hay mucho en lo que pueda ayudar, yo uso Delphi unicamente para aplicaciones en Windows.
Porque no intentas reemplazar el uso de esas funciones por alguna otra similar en Android? |
#7
|
|||
|
|||
![]() Gracias por responder, al parecer es un error de la arquitectura, ya que anteriormente el proyecto estaba en Android 9 de 32 bits, asi que al querer compilarlo en 64 bits, me marcaba estos errores, al querer compilar en 32 bits, no me marca estos errores, ahora son otros que ya puse en otro hilo, por el momento me dijeron que en 32 bits esta bien, así que creo que por el momento eta bien, cabe recalcar que esta app tiene desde el 2010, es lo malo de mover a código ajeno, jeje, pero muchas gracias igualmente, aun así no me voy a rendir, en mis ratos libres tratare de resolverlo
|
#8
|
|||
|
|||
![]() Anteriormente lo había dejado hasta el final el error, y por fin lo he solucionado.
Fue un error por tipos de datos, revise en la documentacion oficial de embarcadero y dice y cito: "NativeInt como un alias débil RAD Studio 12.0 Athens introduce un cambio significativo en el compilador que afecta principalmente a cómo funciona la sobrecarga para algunos tipos de enteros y a la compatibilidad del código de 32 bits y 64 bits. El compilador Delphi tiene un tipo "flotante" llamado NativeInt (o NativeUInt), que coincide con el valor de bits de la plataforma. A partir de RAD Studio 12.0, NativeInt se convierte en un "alias débil", lo que significa que los usuarios ya no pueden usarlo o un tipo separado. Lea cómo usarlo y vea un ejemplo en nuestra página de NativeInt." esto afectaba a mis funciones read y write al parecer, al ver la firma que debían de tener me encuentro con que el tipo de dato que estaba esperando la "firma" es este:
Simplemente cambie el dato que anteriormente era Integer a Longint, y dejo de fallar. gracias a esto ya me dejo compilar. |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Delphi 7 a Delphi 2007.Errores en la migracion | Gaby123 | Varios | 2 | 22-05-2007 23:25:20 |
Migración de Delphi win32 a Asp.Net | amigojar | .NET | 3 | 28-09-2006 22:04:19 |
Migración Delphi a JSF (o JSP) | cybernailuj | Internet | 0 | 18-09-2006 13:13:21 |
migracion a Delphi 7 | ramonibk | Varios | 5 | 31-12-2004 09:27:41 |
Migracion de Delphi6 a Delphi 8 .Net | evallardy | Varios | 4 | 18-11-2004 21:04:58 |
![]() |
|