Ver Mensaje Individual
  #6  
Antiguo 10-06-2020
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Reputación: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Dexter182 Ver Mensaje
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..??? //no me acuerdo como lo hacen en FP!

Asi que a la final es un feliz si

Cita:
Empezado por Dexter182 Ver Mensaje
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 Ver Mensaje
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 [-]
//Antes
dataset.sql = "" //armando sql a lo bestia
dataset.open

//Despues

//Logica datos y sql solamente....
TDatos.listado(sql:String ..) //clase generica datos

TClientes.lista_clientes(...) //clase concreta
begin
   TDatos.listado(...)
end

//formas o unit testing o controlador web o lo que sea!
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.
__________________
El malabarista.
Responder Con Cita