Un componente 4D es un conjunto de objetos 4D representando una o más funcionalidades que se pueden instalar en diferentes bases. Por ejemplo, puede desarrollar un componente 4D de correo electrónico que maneje todos los aspectos del envío, recepción y almacenamiento de e-mails en bases 4D.
La creación e instalación de componentes 4D se efectúa directamente desde 4D. Básicamente, los componentes se administran como plugins de acuerdo a los siguientes principios:
- Un componentes es un simple archivo de estructura (compilado o no) de arquitectura estándar o en forma de paquete (ver Extensión .4dbase ).
- Para instalar un componente en una base, sólo necesita copiarlo en la carpeta “Componentes” de la base, ubicada junto al archivo de estructura. Es posible utilizar un atajo (Windows) o un alias (Mac OS). Para desinstalarlo, simplemente suprímalo de la carpeta.
- No es posible utilizar tablas estándar o archivos de datos en los componentes 4D. Sin embargo, un componente puede crear y/o utilizar tablas, campos y archivos de datos utilizando los mecanismos de bases externas. Las bases externas son bases 4D independientes manipuladas con los comandos SQL. Para mayor información, consulte Sobre las bases externas.
La creación de componentes requiere una licencia apropiada. Por otra parte, la instalación y utilización de componentes en una aplicación 4D no tiene restricciones.
Los mecanismos de gestión de los componentes en 4D requieren la implementación de los siguientes términos y conceptos:
- Base matriz: base de datos 4D utilizada para desarrollar el componente. La base matriz es una base estándar, sin atributos específicos. Una base matriz forma un solo componente. La base matriz está diseñada para ser copiada, compilada o no, en la carpeta Components de la base que utilizará el componente (base local).
- Base local: base en la cual se instala y utiliza un componente.
- Componente: base matriz, compilada o no, copiada en la carpeta Components de la base local y cuyo contenido se utiliza en la base local.
- Formulario Proyecto: formulario no relacionado con una tabla. Los formularios de proyecto son particularmente adaptados a la generación de componentes. Para mayor información sobre los diferentes tipos de formularios, consulte Formularios tabla y formularios proyecto.
- Formulario Tabla (también llamado formulario “estándar”): formulario asociado a una tabla. Este tipo de formulario no puede utilizarse en un componente.
Note que una base puede ser a la vez “matriz” y “local,” es decir, una base matriz puede utilizar uno o más componentes. Sin embargo, un componente no puede utilizar “sub-componentes”.
Por defecto, todos los métodos de proyecto de una base matriz instalados como componente son virtualmente visibles desde la base local. En particular:
- Los métodos de proyecto compartidos se encuentran en la Página Métodos del Explorador y pueden llamarse en los métodos de la base local (ver Compartir métodos proyecto). Su contenido puede seleccionarse y copiarse en el área de previsualización del Explorador. También pueden verse en el depurador. Sin embargo no es posible abrirlos en el editor de métodos ni modificarlos.
- Los otros métodos de proyecto de la base matriz no aparecen en el Explorador pero pueden igualmente verse en el depurador de la base local.
Para proteger eficientemente los métodos de proyecto de un componente, simplemente compile la base matriz y ofrézcala en forma de archivo .4dc (base compilada que no contiene código interpretado). Cuando una base matriz compilada se instala como componente:
- Los métodos de proyecto compartidos son accesibles en la Página Métodos del Explorador y pueden llamarse en los métodos de la base local. Sin embargo, su contenido no aparecerá en el área de previsualización ni en el depurador.
- Los otros métodos de proyecto de la base matriz nunca aparecen.