4D v16.3Desarrollo de componentes |
||
|
4D v16.3
Desarrollo de componentes
Desarrollo de componentes
Como un componente se presenta en forma de una base de datos 4D, el desarrollo de un componente es similar al desarrollo de una funcionalidad de una base. Existen sin embargo restricciones y reglas específicas relacionadas con la naturaleza de los componentes. Un componente puede llamar a la mayoría de los objetos de 4D: métodos de proyecto, formularios de proyecto, barras de menús, listas de selección, imágenes de la librería, etc. Sólo los siguientes objetos no pueden ser utilizados por un componente:
No es necesario eliminar esto elementos si existen en las bases matrices. Cuando un objeto “no utilizable” está presente, simplemente se ignora una vez instalado el componente. Nota: los usuarios y grupos así como los posibles derechos de acceso definidos en la base matriz se ignoran en la base local. Sólo son visibles los métodos de proyecto compartidos por el componente y pueden seleccionarse en modo Diseño en la base local. Por otra parte, los métodos de proyecto compartidos de la base local pueden ser llamados por el componente. Para mayor información consulte Compartir métodos proyecto. Sólo los formularios "publicados" por el componente pueden ser visibles e integrarse en los formularios de la base local como subformularios. Para mayor información, consulte Compartir formularios. Los otros objetos del componente (formularios de proyecto, listas de selección, menús, etc.) pueden ser utilizados por el componente pero no serán accesibles como objetos de estructura desde la base local. Note que ciertos objetos están particionados y otros son compartidos entre la base local y los componentes. Para mayor información, consulte Objetos compartidos y no compartidos. Un componente puede utilizar los plug-ins instalados en la aplicación 4D o en la base local. No es posible instalar plug-ins en la carpeta del componente. Los métodos base y los parámetros genéricos de las bases matrices (carpeta Web, Preferencias, etc.) nunca se tienen en cuenta. Los siguientes comandos no son compatibles para ser utilizados dentro de un componente porque modifican el archivo de estructura, abierto en modo sólo lectura. Su ejecución en un componente provoca el error -10511, “The CommandName command cannot be called from a component”: ON EVENT CALL Notas:
An error-handling method installed by the ON ERR CALL command only applies to the running database. In the case of an error generated by a component, the ON ERR CALL error-handling method of the host database is not called, and vice versa.
Un componente no puede utilizar las tablas y los campos definidos en la estructura 4D de la base matriz. Sin embargo, puede crear y utilizar las bases externas, y utilizar las tablas y los campos en función de sus necesidades. Las bases externas se crean y administran vía el lenguaje SQL. Una base externa es una base 4D independiente de la base 4D principal, pero manipulada desde la base 4D principal. Utilizar una base externa significa designar temporalmente esta base como base actual, en otras palabras, como la base objetivo de peticiones SQL ejecutadas por 4D. Puede crear bases externas utilizando el comando SQL CREATE DATABASE. Para mayor información sobre las bases externas, consulte Sobre las bases externas. El siguiente código se incluye en un componente y efectúa tres acciones básicas con una base de datos externa:
Creación de la base de datos externa: <>MyDatabase:=Get 4D folder+"\MyDB" // (Windows) guarda los datos en un directorio autorizado Escritura en la base de datos externa: $Ptr_1:=$2 // recuperación de los datos de la base local por medio de punteros Lectura desde una base externa: $Ptr_1:=$2 // acceso a los datos de la base local por medio de punteros Los componentes pueden utilizar recursos (antiguos recursos Mac OS “clásicos” o archivos de tipo XLIFF). Conforme a los principios de gestión de recursos (ver Arquitectura de las bases ), los archivos de recursos de los componentes deben ubicarse en una carpeta Resources, ubicada junto al archivo .4db o .4dc del componente. Si el componente es de arquitectura .4dbase (arquitectura recomendada), la carpeta Resources Los mecanismos automáticos son operacionales: los archivos XLIFF presentes en la carpeta Resources de un componente serán cargados por este componente. Un componente también utilizará automáticamente los recursos Mac OS “clásicos” ubicados en el archivo .rsr junto al archivo .4db o .4dc. Los archivos de recursos “clásicos” ubicados en la carpeta Resources deben cargarse explícitamente en el componente utilizando los comandos del tema “Recursos”. En una base local contiene uno o más componentes, cada componente así como las bases locales tienen su propia “cadena de recursos.” Los recursos son particionados entre las diferentes bases: no es posible acceder a los recursos del componente A desde el componente B o la base local (ver Objetos compartidos y no compartidos). Un mecanismo específico ha sido implementado para permitir a los desarrolladores añadir ayudas en línea a sus componentes. El principio es el mismo al propuesto para las bases de datos 4D (ver Anexo A: Ayuda en línea personalizada):
|
PROPIEDADES
Producto: 4D
HISTORIA
ARTICLE USAGE
Manual de Diseño ( 4D v16) |