Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v19
Instalação e compatibilidade de componentes

Instalação e compatibilidade de componentes  


 

Para instalar um componente em um banco de dados 4D, simplesmente copie o arquivo de estrutura do componente (banco de dados binário) ou um alias/apelido  do arquivo .4dproject (projeto) na pasta Components do banco de dados host/anfitrião. A pasta Components deve estar no mesmo nível que o arquivo estrutura (banco de dados binário) ou no mesmo nível que a pasta Projeto (projeto)

Para maior informação, consulte Localização das pastas de PlugIns e Componentes .

4D busca nos bancos de dados matrizes de tipo .4db/.4dproject (banco de dados matrix interpretados), .4dc (bancos de dados matrix compilados) ou .4dbase (pacotes do tipo bancos de dados matrix) na pasta Components. Outros elementos, especialmente arquivos de dados, são ignorados. É possível usar aliases/apelidos ou atalhos para esses bancos de dados matrizes. Isso pode ser muito útil durante a fase de desenvolvimento do componente já que toda modificação efetuada na banco matriz passa imediatamente a todas as bancos locais.

A pasta Components pode conter todo arquivo ou pasta personalizada necessária para o funcionamento do componente (xliff, imagens, etc.). Por outro lado, não pode conter plug-ins ou subpastas Components. Se estes elementos estão presentes, são ignorados por 4D. Os plug-ins utilizados pelos componentes devem ser instalados no banco local ou em 4D.

 

Um banco local executada em modo interpretado pode utilizar indiferentemente componentes interpretados ou compilados, em modo Unicode ou não. É possível instalar componentes interpretados e compilados na mesma banco local. No entanto, se vários componentes compilados estão presentes, devem ser executados no mesmo modo Unicode.

Um banco local executada no modo compilado não pode utilizar componentes interpretados. Neste caso, só podem ser utilizados componentes compilados. Igualmente, o modo Unicode deve ser o mesmo para as bancos locais e os componentes.

A seguinte tabela resume as possibilidades de uso de componentes:

Componentes interpretadosComponentes compilados
UnicodeNão UnicodeUnicodeNão Unicode
Banco local interpretadoUnicodeXXX (*)X (*)
Não UnicodeXXX (*)X (*)
Banco local compiladoUnicode--X-
Não Unicode---X

(*) Se vários componentes compilados são instalados , devem funcionar no mesmo modo Unicode. 

Notas:

  • Um banco interpretado que contém componentes interpretados pode ser compilado se não se chama métodos do componente interpretado. Do contrário, aparece uma caixa de diálogo de alerta ao tentar lançar a compilação e a operação não será realizada.
  • Por geral, um método interpretado pode chamar um método compilado e não ao contrário, exceto utilizando os comandos EXECUTE METHOD e EXECUTE FORMULA.

Para maior informação sobre intercâmbios entre componentes e bancos locais componentes, consulte Interação entre componentes e bancos de dados locais.

Um componente interpretado desenvolvido sob Mac OS pode ser instalado em um ambiente Windows e vice-versa. Por outro lado, os componentes compilados devem ser executados na mesma plataforma de compilação, a menos que tivessem sido compilados para ambas plataformas.

Os componentes instalados na base servidor se transferem automaticamente às máquinas clientes por meio de  um mecanismo parecido ao dos plug-ins.

Por outro lado, não se recomenda modificar um componente em cliente/servidor já que os câmbios serão armazenados localmente e o componente não será atualizado na máquina servidor.

Os componentes são carregados ao abrir o banco local.

  • Se um componente contém código compilado e código interpretado que não corresponde, é mostrada uma mensagem de erro e o componente não se carrega no banco local.
  • Se faltar um componente ao inicio, o banco local não abre e se gera o erro -10509 (Impossível abrir o banco). Pode verificar a presença de componentes ao abrir um banco utilizando o comando COMPONENT LIST. Se deseja utilizar os bancos locais que funcionem com ou sem certos componentes, pode utilizar o seguinte tipo de código:
     ARRAY TEXT($arrComponents_Txt;0)
     COMPONENT LIST($arrComponents_Txt)
     If(Find in array($arrComponents_Txt;"ComponentA")>0) // O componente A não tem que estar presente
        EXECUTE METHOD("ComponentAMethod")
     End if

Um componente pode executar automaticamente código 4D ao abrir ou fechar a base local, por exemplo para carregar e/ou guardar as preferências ou estados de usuário relacionados com o funcionamento da base local.

A execução do código de inicialização ou de encerramento se realiza por meio do On Host Database Event database method. Para obter mais informação, consulte a descrição deste método base no manual Linguagem de 4D.

Tenha em conta que por razões de segurança, a execução deste método de base deve ser autorizada expressamente na base local para que possa chamar ele. Para isso, deve selecionar a opção Executar o método "On Host Database Event" no Página Segurança das Propriedades da base:


Diferente de outros objetos compartilhados (ver Objetos compartilhados e não compartilhados), os métodos de projeto compartilhados têm uma existência “física” na base e não são criados simplesmente pela execução de código. 

Em conseqüência, um conflito de nome pode ocorrer quando um método de projeto compartilhado do componente tem o mesmo nome que o método de projeto da base local. Neste caso, quando o código é executado no contexto da base local, é o método da base local o que se chama. Isto significa que é possível “ocultar” um método de componente com um método personalizado (por exemplo para obter uma funcionalidade diferente).

Obviamente, quando se executa o código no contexto do componente, é o método do componente o que se chama.

Esta máscara é indicada com uma advertência em caso de compilação da base local.

Nota: Se dois componentes compartilham métodos com o mesmo nome, é gerado um erro no momento da compilação do banco local.

 
PROPRIEDADES 

Produto: 4D
Tema: Desenvolver e instalar componentes 4D

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

 
ARTICLE USAGE

Manual de Desenho 4D ( 4D v19)