Junto a los componentes tenemos un elemento importante que nos permite organizar los componentes dentro del compilador que son los packages. En C++ Builder 1.0 existía la librería llamada "CompLib32.dll". La mencionada librería tenía como misión encapsular la totalidad de los componentes quie se encuentran dentro de la paleta de componentes. El incoveniente que presentaba esta librería es que cada vez que se instalaba un solo componente, dentro de la paleta, era necesario realizar una compilación de la totalidad de la librería.
En la versión 3.0 la manera de organizar los componentes cambió radicalmente ya que aparece el concepto de package para solucionar tanto la organización como la administración de los componentes.
Podríamos definir un Package como "una librería que nos permite importar y exportar los componentes". La principal funcionalidad de los Packages es contener,registrar y organizar los mismos.
Creación de un package
El primer paso para crear un componente es crear un package que nos permita almacenarlo. Para ello vamos a realizar los siguientes pasos :
A continuación aparecerá el cuadro de diálogo que nos permitirá realizar las operaciones básicas con el package:
figura 2
El package creará automáticamente el archivo Package1.cpp. Si observamos detenidamente el código fuente de éste archivo nos encontraremos con que se llama directamente a la función dllentrtypoint como si se trartara de una librería dinámica más. Esto viene a apoyar lo comentado anteriormente,es decir, que los packages son librerías de componentes.
Aparte del archivo Package1.cpp nos encontramos con que la opción del package requires incluye una llamada al package vcl40.bpi. Esto nos indica que el package que acabamos de crear va a tener que utilizar parte de los recursos que se encuentran almacenados en el mencionado package. A continuación vemos un listado de las extensiones generadas por el package:
BPK | fuente del package |
BPL | Compilado del package. Se almacena en el directorio cbuilder4\projects\bpl por defecto |
BPI | Librería del package. Se almacena en el directorio cbuilder4\projects\lib por defecto |