![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Releyendo el mesaje original y para concretar ideas, lo que yo le recomendaría a adlfv es olvidarse de los paquetes dinámicos.
En la unidad UBD colocaría una función así:
Es decir, en lugar de crear el objeto en la inicialización, se crea hasta la primera vez que se use. Cualquier otro paquete que requiera de éste lo agregará (valga la redundancia) en su lista de paquetes requeridos. La aplicación principal incluye UBD (cláusula uses) con lo cual puede usar libremente ObtenerBD (y por tanto _BD) sin necesidad de cargar explícitamente el paquete ni importar la función. Y claro, usar la opción "Build with RunTime Packages" y agregar el paquete BD en la lista. Con esto, la aplicación queda modularizada: se pueden hacer cambios a BD, recompilarlo y, sin necesidad de recompilar la aplicación, la nueva funcionalidad estará lista. // Saludos |
|
#2
|
|||
|
|||
|
Gracias
Muchas gracias a los dos por responder.
Sus respuestas me han encaminado respecto a el tema de los paquetes para el caso de la BD, pero ahora tengo otra duda. He estado viendo una web (bastante antigua) que habla de paquetes y conseguí algo que me pareció bastante interesante que plantea el siguiente código: Código:
var
ThisInterface: TAddinModuleInterface;
initialization
ThisInterface := InitAddinModuleInterface(HInstance);
with ThisInterface do
begin
Caption := 'Module &1';
AddMaintenanceForm('&Customers', 'TfrmCustMaint');
AddMaintenanceForm('&Employees', 'TfrmEmpMaint');
AddEnquiryForm('&Sales Orders', 'TfrmOrderEnquiry');
AddReportForm('&Phone List', 'TfrmCustomerPhoneList');
MergeUserInterface;
end;
La versión del ejemplo es antigua, utiliza D4 y QuickReports, mientras que yo no dispongo de QuickReports y utilizo D2005. Estoy intentando migrar dicho código, para obtener una funcionalidad similar pero desgraciadamente no comprendo aún bien el código. Por ejemplo, el autor de esto lo hace mediante el uso del registro, y no logro comprender el por qué lo hace así. Si alguien conoce un código similar, o me puede orientar sobre cómo hacerlo le estaría muy agradecido. La idea es en cada paquete "registrar" el formulario en la seccion de inicialización y que salga automáticamente la opción para acceder a dicho formulario en el menú del programa. Muchas gracias de antemano. Ahh, se me olvidaba... Estoy intentando hacer la aplicación con arquitectura de plugins, osea que habran varios módulos que el usuario final podrá decidir si quiere o no. Para estos módulos sí debería hacerlo con paquetes dinámicos, no? Pues si no existen, el programa debe funcionar igual (sin fallos) pero sin la funcionalidad encapsulada en dicho paquete... Muchas gracias de nuevo. Un cordial saludo. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|