PDA

Ver la Versión Completa : Paquetes de diseño y ejecución


sur-se
15-11-2004, 13:56:54
Hola. Utilizo Delphi 5. Tengo desarrollados una serie de componentes que he ido incluyen en un paquete bpl. Cuando compilo la aplicación no quiero que el bpl se enlace, sino que utilizaré la opción del proyecto "Build with runtime packages", para así reducir el tamaño del ejecutable al máximo.
El problema es que si distribuyo la aplicación así, debo incluir el fichero bpl y entonces cualquiera podría instalarse los componentes desarrollados en su delphi.
He visto que hay bpl para diseño y para ejecución, pero no sé que debo incluir en el código fuente del paquete para que la bpl resultante, cuando vaya a instalar la aplicación, no pueda ser utilizada en delphi como componentes.
Gracias.
Salu2.

delphi.com.ar
15-11-2004, 14:39:42
En el paquete de Diseño, tienes que poner todo lo relativo a Editores de Propiedades, registro de componentes.... que no son necesarios en tiempo de ejecución. ¿Porqué incluír un editor de propiedad en un EXE si es algo meramente para diseño?

Saludos!

Neftali [Germán.Estévez]
15-11-2004, 15:29:25
Lo normal es que el package de Ejecución tenga los componentes y el de Diseño el Registro y las posibles cosas que no se utilizan en ejecución; El package de Diseño suele incluir (debe utilizar) el de ejecución.

En las opciones del Package (pestaño description) debes definir si es de "Diseño, de ejecución o ambos"; Verás que si defines un package como de ejecución es imposible instalarlo en el IDE de Delphi, para utilizar los componentes. Te devuelve un error que te dice algo así como "El package XXX no puede ser instalado porque no es un package de diseño" (Package C:\Proyectos\Delphi6\Persistencia\BPLs\RALGeneral.bpl can't be installed because it is not a design time package).

sur-se
15-11-2004, 16:02:57
Gracias por la contestación. Entonces, cuando vaya a generar el bpl para la aplicación, abro el dpk y en las opciones del proyecto lo configuro como RunTime only. Genero el bpl y me lo guardo. Y luego lo vuelvo a dejar como estaba para poder continuar usándolo en Delphi.

Yo estaba pensando en algo con directivas de programación, y al final resultó más sencillo de lo que parecía. No me había dado cuenta de esa opción en las propiedades.

Gracias.

Neftali [Germán.Estévez]
15-11-2004, 17:34:27
Bueno, no era esa mi idea, ni lo que intentaba explicarte; Lo normal es crear dos packages. Uno para ejecución y por debajo de éste (ya que usa al anterior) uno para diseño;
En el de Ejecución añades los componentes y en el de diseño añades la unit de Registro (con procedure Register y la paleta....), los Editores de propiedades,...
El primero es de Runtime y el segundo es de DesignTime. En diseño (IDE de Delphi) debes tener dos packages diferentes (podrían ser por ejemplo pComp.dpk y dpComp.dpk), aunque la aplicación en ejecución sólo debe utilizar el primero.

No se si ésta vez me he explicado mejor...;)