![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||||||||
|
||||||||||
|
¡Muchísimas gracias a los 3!
![]() Sus consejos y experiencias me sirven muchísimo!!! Y me dan ánimos de meterle ganas a la migración. ![]() Voy contestando: Cita:
Cita:
Pero si, es algo que podría cambiar y no estaría bueno. Cita:
Cita:
Cita:
La migración también puede ser una buena excusa para mejorar aún más eso. Cita:
¿Algún artículo o libro que me aconsejes sobre el tema? Cita:
Cita:
Tendría que ver el tema de los reportes (usaba Rave) pero ya estuve leyendo en este foro sobre alternativas. La Base de datos es Access y accedo a ella a través de ADO. Cita:
Cita:
Me pondré a investigar sobre el tema. Vuelvo a agradecer todos los consejos. Los aprecio muchísimo, ya que yo programo por hobby. Porque la verdad que sería más fácil comprarme un programa y listo. Pero nada más lindo que poder modificar y actualizar el programa que uso todos los días. Saludos!!! ![]()
__________________
https://www.youtube.com/DexterBass |
|
#2
|
||||
|
||||
|
Cita:
Como? Hace una BPLs por version y desde cada una referencia el codigo compartido. Algo asi como:
Asi que a la final es un feliz si ![]() Esto es lo que migraría primero. Cambiate a Firebird, PostgreSQL o Sqlite. No solo son MUCHO mejor DBs, sino que ademas te abren el mundo a correr parte del proyecto en la nube/linux y si es sqlite ios/android. Afortunadamente lo limitado de access hace facil la propuesta, no deberias tener mucho codigo propietario problematico. Ahora bien, puedes no migrar tu proyecto actual y solo hacerlo en el nuevo, que es mejor en cuanto a que no te estresas justo ahora. Cita:
El libro mas recomendado para este tema es https://www.amazon.com/Working-Effec.../dp/0131177052. Pero en general es muy simple. En el caso de Delphi siendo un lenguaje OO mira los principios de SOLID: https://es.wikipedia.org/wiki/SOLID Deberias al menos tener un "2 niveles" logico, en vez de combinar strings y armar sql en todos lados, deberias tener una unica clase (o conjunto cerrado) como
Investiga sobre el tema de refactorizacion y hacer codigo testeable. Si tu codigo se puede testear sin problemas, al 100% que esta bien separado.
__________________
El malabarista. |
|
#3
|
||||
|
||||
|
Este... bueno, creo que tengo bastante trabajo por hacer.
![]() Cita:
El link que me pasaste de Amazon me sugirió dos libros más que también tienen muy buena pinta: - Clean Code (Robert C. Martin) - Refactoring: Improving the Design of Existing Code (Martin Fowler) Agradezco muchísimo la información que me han pasado. ![]() ![]() ![]() Voy a empezar por leer y hacer apuntes de las cosas tengo que corregir. Luego empezaré de a poco a hacer la migración y las pruebas (una vez que tenga más en claro por dónde arrancar). De momento este hilo me ha dado muchísimas ideas. ![]() Saludos y nuevamente gracias!!!!! ![]() ![]() ![]()
__________________
https://www.youtube.com/DexterBass |
|
#4
|
||||
|
||||
|
Cita:
En ese caso yo haría una pruebas (puedes usar la versión Community), porque a lo mejor te llevas una sorpresa y la migración es más sencilla de lo que te esperas. Las nuevas versiones incluyen ADO, así que por ahí no tendrás problemas. Deshabilita la parte de Rave y revisa los 2 o 3 componentes (si compilan, si hay versión nueva o si puedes deshabilitarlos), porque a lo mejor consigues migrar con poco trabajo. Yo tengo proyectos que compilan sin cambios en Delphi6 hasta Delphi 10.3 Rio. Al menos te dará una idea de lo que te puede costar. Luego si realmente lo migras, ya puedes cambiar a FireDAC, tal y como comenta [mamcx], aunque para programas pequeños, yo he usado ADO+Jet y no funciona mal. Si necesitas más rendimiento si que debes plantearte ir hacia un SGBD "serio". Cita:
Pues si no usas componentes de terceros y "cosas externas", deberías poder abrirlos en nuevas verisones sin problemas. Y si tienes que hacer algún cambio tampoco son muchos. Cita:
La respuesta tal y como comenta [mamcx] es que NO puedes llamar a una BPL hecha en Delphi 10.3 desde un ejecutable hecho en D6. Al menos con las ventajas de ua BPL. Si ese es el caso, deberías usar DLL's. Tal vez no me expliqué bien.
__________________
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
|
||||
|
||||
|
No, lo que dije es que para que se pueda, debes crear un proyecto BPL por CADA version que quieres compilar (uno para 7, otro para 2007, etc) y el codigo compartido lo linkeas en cada uno de los proyectos. Notaras que asi lo hacen las librerias de componentes (y probablemente usando compilacion condicional para ajustes)
__________________
El malabarista. |
|
#6
|
||||
|
||||
|
¡¡¡Muchas gracias Germán y mamcx!!!
![]() Cita:
De mientras voy ganando tiempo leyendo y haciendo borradores de ideas en papel. Ayer ya empecé con eso. Me puse ansioso. ![]() Cita:
Aprovecharé la migración para hacer "limpieza" y una vez que tenga todo más prolijo estudiaré bien el tema de cambiar de BD. Aparte de FireDAC me interesó mucho lo de SQLite. Con el tema de las DLL/BPL, quizás sería mejor pasar a BPL las cosas de Delphi 7 que no tenga en Delphi 10. Creo que pasaré a BPL la parte de RAVE, que no es mucha y es la parte más engorrosa del programa. Saludos y mil gracias de nuevo!!!! ![]() ![]() ![]()
__________________
https://www.youtube.com/DexterBass |
|
#7
|
||||
|
||||
|
Si va a ser multiusuario, sqlite no es la mejor opción.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#8
|
||||
|
||||
|
Muchas gracias Casimiro!
De momento, al programa lo uso yo solo, pero no está de más saber esto. Saludos! ![]() ![]() ![]()
__________________
https://www.youtube.com/DexterBass |
|
#9
|
||||
|
||||
|
No desde hace varias versiones: https://sqlite.org/threadsafe.html.
Y el "problema" no es tan multiples usuarios sino múltiples hilos/programas. Ahora, si estamos hablando de MUCHISIMOS usuarios hay si no es tan bueno ![]()
__________________
El malabarista. |
|
#10
|
||||
|
||||
|
Sí, tengo hecho proyectos Android con Sqlite en modo multiusuario y están funcionando perfectamente.
Pero para eso es mejor usar Firebird o PostgreSql, como bien sabes.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#11
|
||||
|
||||
|
Cita:
La nueva versión Community es posible que tarde unos meses. Puedes descargar la actual, empezar con la pruebas, y cuando salga la nueva, compilará seguro sin problemas, lo que estés haciendo con la 10.3.
__________________
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. |
|
#12
|
||||
|
||||
|
Cita:
Entonces el fin de semana me bajo la actual para ir probando y de paso les cuento como me fue. Saludos! ![]()
__________________
https://www.youtube.com/DexterBass |
|
#13
|
||||
|
||||
|
Buenas!
Quería decirles que estuve jugando con Delphi Community y el programa compila sin hacer prácticamente ningún cambio (solo quitando la parte de los reportes y los componentes de terceros). ![]() Obviamente que habría que probar exhaustivamente todo para estar seguro, pero que compile ya es una buena noticia. Me hace algunos defectos estéticos que luego iré viendo como acomodo (algunos son detalles tontos; por ejemplo en los DbGrid y StringGrid lo solucioné con el DrawingStyle en "gdsClassic"). En Lazarus no tuve tanta suerte. Tendría que hacer muchos cambios para que al menos compile. Igualmente cuando terminé la limpieza del código voy a intentarlo de nuevo. PD: Que lindo que es el StringGrid que trae Lazarus. Tiene prácticamente todo lo que he tenido que buscar en componentes de terceros. ¿Por que Delphi prácticamente no ha agregado características a este componente?. ![]() Saludos! ![]() ![]() ![]()
__________________
https://www.youtube.com/DexterBass |
|
#14
|
||||
|
||||
|
Cita:
Lo se y eso quería decir (parece que en este hilo me estoy explicando fatal). ![]() ![]() ![]()
__________________
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. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Migrar a... | Pollo2004 | Varios | 2 | 19-03-2009 19:05:48 |
| Migrar d5 a dx | tcp_ip_es | Varios | 6 | 25-06-2008 07:49:48 |
| Migrar BDE a ADO | estebanx | Conexión con bases de datos | 1 | 25-07-2007 04:06:45 |
| Migrar de ZIP -> RAR | ANG4L | Varios | 5 | 21-02-2007 16:52:26 |
| Migrar de VCL a CLX | naruto | C++ Builder | 2 | 31-10-2006 00:59:25 |
|