Cita:
Empezado por Dexter182
Esto me interesó mucho. ¿Esas BPLs las puedo ir desarrollando en Lazarus o los Delphi nuevos y llamarlas desde Delphi 7?.
|
Las BPLs son muy espcificas no solo de delphi sino de su version. Asi que superficialmente, no. Sin embargo, notaras como un monton de componentes se pueden instalar en multiples versiones de Delphi/Freepascal.
Como?
Hace una BPLs por version y desde cada una referencia el codigo compartido. Algo asi como:
Código Delphi
[-]
my_lib.pas
my_lib.D7.bpl
my_lib.D2017.bpl
my_lib.FPascal..???
Asi que a la final es un feliz si
Cita:
Empezado por Dexter182
La Base de datos es Access y accedo a ella a través de ADO.
|
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:
Empezado por Dexter182
Esto no lo he echo y no se muy bien por dónde debería arrancar.
¿Algún artículo o libro que me aconsejes sobre el tema?
¿A que te refieres con refactorizar mi bd y mi código fuente?
|
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
Código Delphi
[-]
dataset.sql = "" dataset.open
TDatos.listado(sql:String ..)
TClientes.lista_clientes(...) begin
TDatos.listado(...)
end
dataset = TClientes.lista_clientes(...)
Investiga sobre el tema de refactorizacion y hacer codigo testeable. Si tu codigo se puede testear sin problemas, al 100% que esta bien separado.