PDA

Ver la Versión Completa : Liberar Paquetes cargados dinámicamente


ContraVeneno
07-07-2008, 19:08:30
Tengo una aplicación (ejecutable) en la que cargo paquetes (BPL) dinámicamente con la función "LoadPackage".
Si quiero compilar el paquete de nuevo, dice que no puede generar el archivo "paquete.bpl" porque está en uso.
Correcto, entonces utilizo "UnloadPackage" y ya no me marca que el BPL está en uso, pero me marca que el archivo "Paquete.dcp" está en uso.
(lo hice con esta guía (http://dn.codegear.com/article/27178))

Si quisiera recompilar solo el paquete, tengo que finalizar el ejecutable con el que cargo el paquete dinámicamente.

¿Me faltaría hacer algo más para liberar el DCP o para evitar que al compilar el paquete me marque que el DCP está en uso?

coso
07-07-2008, 22:05:59
hola, los archivos .bpl se pueden abrir de manera independiente a si tienes algun otro proyecto abierto o no. Te crea un .dpk el cual puedes compilar asi y reinstalarlo. Asi, si lo abres con Delphi limpio, podras compilar solo el paquete en cuestion. Revisa que las opciones 'default' del proyecto no incluyan claro esta el paquete. saludos

Neftali [Germán.Estévez]
08-07-2008, 10:08:34
El ejecutable no bloquea el DCP, es más, no lo necesita.
No lo entiendo...

¿No lo estarás bloqueando desde el propio IDE?

ContraVeneno
08-07-2008, 14:58:38
hola, los archivos .bpl se pueden abrir de manera independiente a si tienes algun otro proyecto abierto o no. Te crea un .dpk el cual puedes compilar asi y reinstalarlo. Asi, si lo abres con Delphi limpio, podras compilar solo el paquete en cuestion. Revisa que las opciones 'default' del proyecto no incluyan claro esta el paquete. saludos

No es un paquete de componentes, son unos formularios que cargo dinámicamente en una aplicación, es decir, no lo instalo en delphi.

El ejecutable no bloquea el DCP, es más, no lo necesita.
No lo entiendo...

¿No lo estarás bloqueando desde el propio IDE?

Pues creo que por ahí puede ir el asunto, justo ahora he realizado la prueba, al ejecutar el programa sin el IDE (el .exe directo pues), cargo el bpl, lo libero y ya no me marca el error de que el DCP está en uso.

Si corro el ejecutable desde el código fuente (F9 desde delphi), cargo la bpl, la libero y sí me marca que el DCP está en uso.

Pensé que me marcaría que el DCP está en uso siempre que quisiera compilar, pero ahora que ya vi que es solo si lo ejecuto desde el IDE de delphi, pues bueno, no hay mas problema. :D