FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Unit común en proyecto con BPL's dinámicas.
Buenas a todos.
Estoy haciendo un proyecto con BPL's dinamicas, hay un Main que tiene el menu que se crea leyendo una tabla de Oracle y luego llama a distintas BPL's que se crean de forma dinámica. La idea es que una vez este bien montado el Main, creará el menú y llamara a los distintos formularios de forma totalmente dinamica. El problema con el que me encuentro es que si uso una unit, en la que tengo variables globales y funciones comunes, en dos BPL's y las cargo, la segunda no me deja hacer el Load. He intentado poner esa unit en una bpl dinamica a parte y hacer el load en el onshow del main, pero cuand uso las variables o las funciones en las distintas bpl's, como no ven esa unit, da error de compilacion. Que rollo jejeje. Muchas gracias. |
#2
|
||||
|
||||
Cita:
Creo que se soluciona colocando las cosas comunes en una BPL independiente (la llamaremos BPL BASE). Supongamos que tienes 2 BPL's dinámicas BPL_A y BPL_B. En mi caso lo que hago es que, como te he comentado, las cosas comunes están definidas en la BPB BASE. Tanto BPL_A como BPL_B están linkadas de forma estática a BPL BASE, de forma que usas las units de BPL BASE es los USES de BPL_A o BPL_B. Cuando cargas de foma dinámica BPL_A o BPL_B, automáticamente se carga BPL BASE (sin hacer nada especial), pues está "linkada" de forma estática. Si ya has cargado BPL_A (esta a su vez habrá cargado BPL BASE), cuando cargas BPL_B ya no se carga, pues ya está en memoria. Otra opción de carga es que el programa principal (el EXE) carge BPL BASE (de forma dinámica o estática), de esta forma cuando se cargan las otras BPL's de forma dinámica (BPL_A y BPL_B) encuentran que BPL BASE ya está cargada y no tendrán problemas para acceder a ella. Ya se que es un poco "lioso" y espero no haerte dejado peor de lo que estabas, pero si estás trabajando con BPL's creo que me entenderás. Si no te aclaras dímelo e intento generar un pequeño ejemplillo... Un saludo.
__________________
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. |
#3
|
||||
|
||||
Cita:
esta es la misma forma que yo utilizo y me parece la más adecuada. De hecho, utilizo un poco de las dos. Tengo el BPL base enlazado de manera estática a cada BPL y con eso puedo utilizar todo lo que contenga en tiempo de diseño. Aquí incluyo funciones comunes, imágenes de botones, perfil de usuario y algunas otras cosas. Y el bpl base lo cargo cuando se crea el .exe. Cierto que podría ser un pelín complicado al principio, pero una vez que has tenido éxito con tu primer BPL, lo demás ya es pan comido.
__________________
|
#4
|
|||
|
|||
Muchísimas gracias a los dos,
Es cierto que es un poco lioso , pero la forma de hacerlo esta clara. Supongo que es cuestión de acostumbrarse a incluir de forma estática esa BPL BASE en cada BPL dinámica. Un saludo y hasta otra. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Elegir la carpeta para BPL's ¿? | elcolo83 | Varios | 9 | 01-06-2010 10:51:02 |
Documentación sobre BPL'S | subzero | Varios | 18 | 20-08-2008 01:16:27 |
Problema con BPL's y Windows 2000 | jcarteagaf | Varios | 10 | 26-06-2007 17:55:08 |
Saber que bpl's son necesarias para funcionar con delphi | mierda | Varios | 3 | 06-09-2006 18:26:43 |
Algo un poco fuera de lo comun | JerS | Impresión | 2 | 25-10-2005 18:05:28 |
|