Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2024
bennett.mtz bennett.mtz is offline
Miembro
 
Registrado: jul 2024
Posts: 10
Poder: 0
bennett.mtz Va por buen camino
Question Migración de proyecto de delphi 10.3 a 12.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!!!
Responder Con Cita
  #2  
Antiguo 02-07-2024
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 318
Poder: 3
pgranados Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 02-07-2024
bennett.mtz bennett.mtz is offline
Miembro
 
Registrado: jul 2024
Posts: 10
Poder: 0
bennett.mtz Va por buen camino
Exclamation

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
Responder Con Cita
  #4  
Antiguo 03-07-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.874
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por bennett.mtz Ver Mensaje
...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

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:
Empezado por bennett.mtz Ver Mensaje
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

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.
Responder Con Cita
  #5  
Antiguo 03-07-2024
bennett.mtz bennett.mtz is offline
Miembro
 
Registrado: jul 2024
Posts: 10
Poder: 0
bennett.mtz Va por buen camino
Exclamation

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
Código Delphi [-]
type
  TCryptStream = class(TStream)
  private
    ///
  protected
    //
  public
    //
    function Read(var Buffer; Count: Integer): Integer; override;
    //
    function Write(const Buffer; Count: Integer): Integer; override;
  end;
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.
Responder Con Cita
  #6  
Antiguo 03-07-2024
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 318
Poder: 3
pgranados Va por buen camino
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?
Responder Con Cita
  #7  
Antiguo 04-07-2024
bennett.mtz bennett.mtz is offline
Miembro
 
Registrado: jul 2024
Posts: 10
Poder: 0
bennett.mtz Va por buen camino
Red face

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
Responder Con Cita
  #8  
Antiguo 11-07-2024
bennett.mtz bennett.mtz is offline
Miembro
 
Registrado: jul 2024
Posts: 10
Poder: 0
bennett.mtz Va por buen camino
Talking Resuelto!!!

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:

Código Delphi [-]
function Read(var Buffer; Count: Longint): Longint; overload; virtual;
    function Write(const Buffer; Count: Longint): Longint; overload; virtual;

Simplemente cambie el dato que anteriormente era Integer a Longint, y dejo de fallar. gracias a esto ya me dejo compilar.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
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


La franja horaria es GMT +2. Ahora son las 19:20:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi