Um componente 4D é um conjunto de objetos 4D representando uma ou mais funcionalidades que podem ser instaladas em diferentes bases. Por exemplo, você pode desenvolver um componente 4D de correio eletrônico que maneje todos os aspectos de envio, recepção e armazenamento de e-mails em bancos 4D.
A criação e instalação de componentes 4D é efetuada diretamente desde 4D. Basicamente, os componentes são administrados como plugins de acordo com os seguintes princípios:
- Um componentes é um simples arquivo de estrutura (compilado ou não) de arquitetura padrão ou em forma de pacote (ver Extensão .4dbase ).
- Para instalar um componente em uma base, você só necessita copiá-lo na pasta “Componentes” da base, localizada junto ao arquivo de estrutura. É possível utilizar um atalho (Windows) ou um apelido (Mac OS). Para desinstalá-lo, simplesmente retire-o da pasta.
- Não é possível utilizar tabelas padrão ou arquivos de dados nos componentes 4D. No entanto, um componente pode criar e/ou utilizar tabelas, campos e arquivos de dados utilizando os mecanismos de bases externas. As bases externas são bases 4D independentes manipuladas com os comandos SQL. Para maior informação, consulte Sobre as bases externas.
A criação de componentes requer uma licença apropriada. Por outro lado, a instalação e utilização de componentes em uma aplicação 4D não tem restrições.
Os mecanismos de gestão dos componentes em 4D requerem a implementação dos seguintes termos e conceitos:
- Banco matriz: banco de dados 4D utilizada para desenvolver o componente. O banco matriz é um banco padrão, sem atributos específicos. Um banco matriz forma um só componente. O banco matriz está desenhado para ser copiado, compilado ou não, na pasta Components do banco que utilizará o componente (banco local).
- Banco local: banco no qual se instala e usa um componente.
- Componente: banco matriz, compilado ou não, copiado na pasta Components do banco local e cujo conteúdo é utilizado no banco local.
- Formulário Projeto: formulário não relacionado com uma tabela. Os formulários de projeto são particularmente adaptados à geração de componentes. Para mais informação sobre os diferentes tipos de formulários, consulte Formulários de tabela e de projeto.
- Formulário Tabela (também chamado formulário “padrão”): formulário associado a uma tabela. Este tipo de formulário não pode ser utilizado em um componente.
Note que um banco pode ser “matriz” e “local,” ou seja, um banco matriz pode utilizar um ou mais componentes. No entanto, um componente não pode utilizar “sub-componentes”.
Automaticamente, todos os métodos de projeto de uma base matriz instalados como componente são virtualmente visíveis desde o banco local. Em particular:
- Os métodos de projeto compartilhados se encontram na Página Métodos do Explorador e podem chamar-se nos métodos da banco local (ver Compartilhar métodos projeto). Seu conteúdo pode ser selecionado e copiado na área de pré-vizualização do Explorador. Também podem ser vistas no depurador. No entanto não é possível abri-los no editor de métodos nem modificá-los.
- Os outros métodos de projeto da banco matriz não aparecem no Explorador, mas podem igualmente serem vistos no depurador da banco local.
Para proteger eficientemente os métodos de projeto de um componente, simplesmente compile o banco matriz e ofereça em forma de arquivo .4dc (base compilada que não contém código interpretado). Quando uma banco matriz compilada se instala como componente:
- Os métodos de projeto compartilhados são acessíveis na Página Métodos o Explorador e podem chamar-se nos métodos da banco local. No entanto, seu conteúdo não aparecerá na área de pré-vizualização nem no depurador.
- Os outros métodos de projeto da banco matriz nunca aparecem.