![]() |
Un veterano novato con intencion de migrar de D7 a D10
Tengo ya varios años desarrollando en D7... y por fin he decidido (empujado por el miedo a quedarme totalmente obsoleto a brincar a D10)...
alguna guia rapida para iniciarme en ello? |
Hola, ArtPortEsp
Es posible que algo de esto te ayude |
Cita:
|
Hola :)
Yo estoy migrando de D5 a D10, así que te entiendo muy bien. Lo más importante es : ¿vas a migrar tú o vas a migrar tus aplicaciones? Lo segundo sería, ¿Estás habituado a usar tablas o queries? Cita:
|
Cita:
Si, uso MySQL... por? |
Otra cosa a tener en cuenta es el uso de dlls externas que puedan tener tus aplicaciones. Con el cambio a Unicode (desde Delphi 2009 más o menos), los antiguos String son ahora AnsiString, los antiguos PChar son ahora PAnsiChar, y los WideString son ahora los String normales.
Eso a veces supone un enorme quebradero de cabeza Saludos |
Cita:
En mi caso, lo que tenía que adaptar aplicaciones lo que he hecho es usar una única base de código, con condicionales para distinguir el código que corresponde a la versión vieja de Delphi, del de la moderna. Utilizo dos copias de los fuentes, con una para cada versión, con un comparador, el Beyond Compare. Esto me permite hacer modificaciones en la versión nueva, comparar los fuentes, y realizar en los fuentes "viejos" los cambios necesarios para que funcione en ambas versiones (quizás con condicionales). Los DFM tienes que tenerlos en modo texto, y debes quedarte siempre con los de la versión vieja, porque los de la vieja van en la nueva, pero los de la nueva no van en la vieja. Si usas librerías de terceros, entonces debes asegurarte de que haya versiones de todas ellas para la versión de Delphi que vayas a usar; si falta alguna, si puedes prescindir de ella, hazlo, y si no puedes, adáptala a D10 o sustitúyela por otra. Puede que tengas componentes con propiedades que existen en la vieja y no en la nueva, como pasa con TkbmMemTable. Una posibilidad ahí es crearte un componente nuevo, p.ej. TkbmMemTableMIO, y sustituir uno por el otro en todos los .pas y .dfm. En la implementación del mismo para D10, le añades las propiedades que faltan, como propiedades que no hacen nada, e incluso que no se graban en el dfm. De ese modo no te dará error al abrir los formularios. En la práctica, la adaptación ha supuesto para mí modificar los fuentes originales (en producción) hasta conseguir unos fuentes que funcionen en ambas. En cuanto al Unicode, te dará dolores de cabeza, pero acabarás por salir adelante, vía pruebas del código. También he tenido que crear varias unidades de apoyo, que me permitiesen resolver incompatibilidades sin tener que recurrir a montones de IFDEF. Por ejemplo, en D10 se recomienda CharInSet en vez de (x in ['a..'z','A'..'Z']). He implementado una función CharInSet en D5, en una unidad de "StringTools", y he modificado tooodos los sitios en los que usaba la notación de sets por la de CharInSet, de modo que el código funcione en ambas versiones. Lo mismo con ShortDateFormat, etc. Se tratan de forma distinta, y he implementado una "DateTools" que me permitiese usar el mismo fuente en mis unidades Ánimo y suerte :) |
Cita:
Por ejemplo, algunas cosas importantes. * ¿Usas muchos componentes de terceros? Si es que si, ¿tienen versión para XE10? * ¿Que acceso a Base de Datos estás usando ahora: ADO, BDE,..? * ¿Qué Base de Datos estás utilizando? * Y luego para temas de UNICODE y ANSI dependerñá si en tu código trabajas mucho con punteros, arrays, Char, PChar, buffers,... Para esto último puedes revisar: https://www.embarcadero.com/images/d...-migration.pdf http://docwiki.embarcadero.com/RADSt..._in_RAD_Studio |
Bueno...
asi de entrada creo que me espera mucho trabajo por delante.... gracias a todos (Javierus, Neftali, movorack, ElKurgan) creo que aprovechare la coyuntura y recreare mi aplicación principal en la nueva versión; sirve que le doy una manita de gato y aprovecho las nuevas características (y de paso voy aprendiendo). He oído hablar mucho de FireMonkey y veo en el IDE que hay varias opciones de iniciar el proyecto aparte de la ya conocida VCL... Tambien tengo curiosidad en entrar con el tema de IntraWeb (que no lo he usado nunca) y ver si puedo hacer mi aplicación para WEB (cosa que he logrado en forma parcial y no del todo satisfactoria con NodeJS y Angular7) Le tengo fe a la plataforma que me ha dado de comer por tantos años y creo que esta version XE10 tiene gran potencial, uds. que opinan? |
Cita:
Te sugiero, hacer primero una traducción de tu código y posteriormente dedicarte a las mejoras, es decir, perocupate por que el código viejo compile primero y luego afinas. como dicen todos, los problemas pueden estar mas por el lado de los componentes de terceros... ya que muchos van perdiendo soporte por el camino. También revisa el tema de componentes de base de datos... aunque en general casi todos operan igual, hay una que otra funcionalidad que no es tan comun... sucede mucho cuando intentas salir de BDE... Mucha suerte y ánimo, vale la pena..!!! |
| La franja horaria es GMT +2. Ahora son las 05:38:08. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi