4D v16.3

Instalación y compatibilidad de los componentes

Inicio

 
4D v16.3
Instalación y compatibilidad de los componentes

Instalación y compatibilidad de los componentes  


 

Para instalar un componente en una base 4D, simplemente copie el archivo de estructura de la base matriz en la carpeta Components accesible para la base local. Puede colocar la carpeta Components en dos partes:

  • A nivel de la aplicación 4D ejecutable: en este caso, los componentes están disponibles para todas las bases de datos abiertas por esta aplicación.
  • Al mismo nivel que el archivo de estructura de la base: en este caso, los componentes sólo están disponibles en esta base.

Para mayor información, consulte Ubicación de las carpetas Plugins y Components.

4D busca matrices del tipo .4db ((base matriz interpretada), .4dc(base matriz compilada) o .4dbase (base matriz de tipo paquete) en la carpeta Components. Los otros elementos, en particular los archivos de datos o archivos de estructura usuario (.4DA), se ignoran. Puede utilizar alias o atajos a las bases matrices. Esto puede ser muy útil durante la fase de desarrollo del componente ya que toda modificación efectuada en la base matriz pasa inmediatamente a todas las bases locales. 

La carpeta Components puede contener todo archivo o carpeta personalizada necesaria para el funcionamiento del componente (xliff, imágenes, etc.). Por otra parte, no puede contener plug-ins o subcarpetas Components. Si estos elementos están presentes, son ignorados por 4D. Los plug-ins utilizados por los componentes deben instalarse en la base local o en 4D.

Una base local ejecutada en modo interpretado pude utilizar indiferentemente componentes interpretados o compilados, en modo Unicode o no. Es posible instalar componentes interpretados y compilados en la misma base local. Sin embargo, si varios componentes compilados están presentes, deben ejecutarse en el mismo modo Unicode.

Una base local ejecutada en modo compilado no puede utilizar un componente interpretado. En este caso, sólo se pueden utilizar componentes compilados. Igualmente, el modo Unicode debe ser el mismo para las bases locales y los componentes.

La siguiente tabla resume las posibilidades de uso de componentes:

Componentes interpretadosComponentes compilados
UnicodeNo UnicodeUnicodeNo Unicode
Base local interpretadaUnicodeXXX (*)X (*)
No UnicodeXXX (*)X (*)
Base local compiladaUnicode--X-
No Unicode---X

(*) Si se instalan varios componentes compilados, deben funcionar en el mismo modo Unicode. 

Notas:

  • Una base interpretada que contiene componentes interpretados puede compilarse si no llama métodos del componente interpretado. De lo contrario, aparece una caja de diálogo de alerta al intentar lanzar la compilación y la operación no se llevará a cabo.
  • Por lo general, un método interpretado puede llamar un método compilado y no al contrario, excepto utilizando los comandos EXECUTE METHOD y EXECUTE FORMULA.

Para mayor información sobre intercambios entre componentes y bases locales componentes, consulte Interacción entre componentes y bases locales.

Un componente interpretado desarrollado bajo Mac OS puede instalarse en un entorno Windows y viceversa.
Por otra parte, los componentes compilados deben ejecutarse en la misma plataforma de compilación, a menos que hubieran sido compilados para ambas plataformas.

Los componentes instalados en la base servidor se transfieren automáticamente a las máquinas clientes vía un mecanismo parecido al de los plug-ins.

Por otra parte, no se recomienda modificar un componente en cliente/servidor ya que los cambios se almacenarán localmente y el componente no se actualizará en la máquina servidor.

Los componentes se cargan al abrir la base local.

  • Si un componente contiene código compilado y código interpretado que no corresponde, se muestra un mensaje de error y el componente no se carga en la base local.
  • Si falta un componente al inicio, la base local no abre y se genera el error -10509 (Imposible abrir la base). Puede verificar la presencia de componentes al abrir una base utilizando el comando COMPONENT LIST. Si quiere utilizar las bases locales que funcionan con o sin ciertos componentes, puede utilizar el siguiente tipo de código:
     ARRAY TEXT($arrComponents_Txt;0)
     COMPONENT LIST($arrComponents_Txt)
     If(Find in array($arrComponents_Txt;"ComponentA")>0) // El componente A no tiene que estar presente
        EXECUTE METHOD("ComponentAMethod")
     End if

Un componente puede ejecutar automáticamente código 4D al abrir o cerrar la base local, por ejemplo para cargar y/o guardar las preferencias o estados de usuario relacionados con el funcionamiento de la base local.

La ejecución del código de inicialización o  de cierre se efectúa por medio del Método base On Host Database Event. Para obtener más información, consulte la descripción de este método base en el manual Lenguaje de 4D.

Tenga en cuenta que por razones de seguridad, la ejecución de este método de base debe ser autorizada expresamente en la base local para que pueda llamarlo. Para ello, debe seleccionar la opción Ejecutar el método "On Host Database Event" en la Página Seguridad de las Propiedades de la base:


A diferencia de otros objetos compartidos (ver Objetos compartidos y no compartidos), los métodos de proyecto compartidos tienen una existencia “física” en la base y no se crean simplemente por la ejecución de código.

Por consiguiente, un conflicto de nombre puede ocurrir cuando un método de proyecto compartido del componente tiene el mismo nombre que el método de proyecto de la base local. En este caso, cuando el código se ejecuta en el contexto de la base local, es el método de la base local el que se llama. Esto significa que es posible “ocultar” un método de componente con un método personalizado (por ejemplo para obtener una funcionalidad diferente).
Por supuesto, cuando se ejecuta el código en el contexto del componente, es el método del componente el que se llama.

Esta máscara se indica con una advertencia en caso de compilación de la base local.

Nota: si dos componentes comparten métodos con el mismo nombre, se genera un error en el momento de la compilación de la base local.

 
PROPIEDADES 

Producto: 4D
Tema: Desarrollar e instalar componentes 4D

 
HISTORIA 

 
ARTICLE USAGE

Manual de Diseño ( 4D v16)
Manual de Diseño ( 4D v16.1)
Manual de Diseño ( 4D v16.3)