Cita:
Empezado por Neftali [Germán.Estévez]
Lo primero decir que si estás utilizando plugins (con carga dinámica de packages) utilizar variables globales en el plugin (si luego debes accederlas desde fuera) me parece un error de concepto.
|
¡¡¡Gracias Neftali por responder!!!
He estado haciendo pruebas y el tema que veo es que los Packages que se cargan de forma automática (estaticos) en el proyecto van a un bloque de memoria y los que se cargan de forma dinámica van a otro bloque de memoria distinta, entonces si un mismo package, en mi caso la unidad plugins.pas, se utiliza de ambas formas tanto en paquetes estáticos como dinámicos, en realidad hay dos instancia totalmente distintas de estos datos, y cuando intentan interactuar entre ellos no se ven.
En las distintas pruebas que he estado haciendo dentro de los paquetes cargados de la misma manera, sean dinámicamente o estáticamente y siempre que no se mezclen esos paquetes, entonces parece que las variables "globales" si que se pueden compartirse sin problemas.
El tema de utilizar estas variables globales es por ejemplo, el caso mas básico, un paquete con las conexiones de acceso a la base de datos, que lo va a utilizar el resto de paquetes:
Código Delphi
[-]
PackageConnection [---
Unit DMConnections;
interface
type
TDMConnection = class(TDataModule)
...
end;
var
DMConnection :TDMConnection; ...
end.
---]
PackageClientes [---
Unit DMClientes;
interface
type
TDMClientes = class(TDataModule)
...
end;
implementation
uses DMConnections; ...
end.
---]
Seguiré haciendo mas pruebas para verificar que no hace cosas extrañas
Gracias a todos por la ayuda!!