XObjects

<< Clique para Mostrar o Sumário >>

 

XObjects

Além dos XControls e XFolders, pode-se criar uma Biblioteca de dados denominada XObject. Com esta Biblioteca pode-se definir uma estrutura de dados que é executada no servidor. Tal estrutura pode realizar cálculos, Associações, comunicações, verificação de alarmes, registros históricos, etc., que independam de que alguma interface gráfica (E3 Viewer) esteja aberta ou em execução naquele momento. Para criar um XObject, clique com o botão direito do mouse no item Bibliotecas de Objetos - XObjects no modo Domínio, selecione a opção Inserir XObject em e logo após o nome da Biblioteca desejada.

Aba Propriedades de um XObject

XObjects

Ao inserir um XObject, é aberto o Editor deste objeto, onde podem ser inseridas variáveis. Estas variáveis são as Propriedades a serem exportadas pelo objeto, que podem ser associadas a um Tag ou outra propriedade qualquer de uma aplicação quando o objeto estiver em uso em uma aplicação.

As variáveis a serem exportadas podem ser inseridas pressionando-se a tecla INSERT do teclado ou clicando em Adicionar Adicionar e excluídas através da tecla DELETE ou clicando em Remover Remover. As opções disponíveis na aba Propriedades estão descritas na tabela a seguir.

Opções disponíveis na aba Propriedades

Opção

Descrição

Nome

Determina o nome da variável do XObject

Tipo

Determina o tipo de dados suportado pela variável. Note que outros objetos de dados (XFolders e XObjects) podem ser declarados como tipos de dados. Desta forma, pode-se criar um objeto de dados que possui como Propriedade outro objeto de dados. Os objetos de dados podem funcionar neste caso como uma estrutura ou classe, como utilizado na linguagem de programação C/C++. Quando é especificado um tipo de objeto, como por exemplo DemoTag, IOTag ou XObject, esta Propriedade tem o seguinte comportamento:

Caso o ElipseX esteja inativo: A Propriedade funciona como uma String, que especifica o caminho da instância de um objeto do tipo de dados configurado

Caso o ElipseX esteja ativo: Na escrita, a Propriedade funciona da mesma maneira de quando o objeto está desativado. Porém, na leitura a Propriedade retorna o objeto especificado, caso exista. Se o caminho não aponta para um objeto existente no momento, a Propriedade retorna Nothing

Esta opção corresponde à propriedade Type de um objeto Definição de Propriedade

Pública Propriedade pública

Habilita ou desabilita a visibilidade da variável fora da Biblioteca, isto é, determina se a variável é ou não pública. Esta opção corresponde à propriedade Public de um objeto Definição de Propriedade

Gravável Propriedade gravável

Determina se a variável é salva no projeto ou não. Esta opção corresponde à propriedade Persistable de um objeto Definição de Propriedade

Retentiva Propriedade retentiva

Determina se a Propriedade é retentiva ou não. Esta opção corresponde à propriedade Retentive de um objeto Definição de Propriedade

Valor inicial

Determina o valor inicial da variável. Esta opção corresponde à propriedade DefaultValue de um objeto Definição de Propriedade

Texto de ajuda

Texto de declaração e documentação da variável. Esta opção corresponde à propriedade HelpString de um objeto Definição de Propriedade

 

Apenas Propriedades de tipos de dados simples (Variant, String, Date, Double, etc.) podem ser retentivas (o Editor do objeto desmarca automaticamente a coluna Retentiva Propriedade retentiva se o tipo de dados de uma Propriedade é alterado para um objeto), e apenas Propriedades de XFolders e de XObjects podem ser retentivas.

 

NOTA

O uso de Propriedades retentivas nos ElipseX pode aumentar o tempo de início do aplicativo e também aumentar o consumo de memória pelo processo E3Run. Os tempos variam dependendo do número de instâncias de XFolders e de XObjects, do número de Propriedades retentivas em cada XFolder ou XObject e da quantidade destas Propriedades que possuem o seu valor alterado. Se a Propriedade nunca é alterada, o seu valor retentivo permanece zerado.

 

Podem ser inseridos em um XObject quaisquer módulos do E3 que sejam executados no servidor, como Bancos de Dados, Configurações de Alarmes, Fórmulas, Históricos, Storages, Servidores de Dados, Tags de Comunicação, Drivers de Comunicação e Alarmes.

Isto permite que se possa definir como uma Biblioteca um sistema complexo de gerenciamento, que pode ser facilmente replicado quantas vezes forem necessárias em um aplicativo.

 

IMPORTANTE

XControls, XFolders e XObjects só podem se relacionar com o mundo externo através de Propriedades (ou através do mouse e teclado no caso dos XControls). Isto significa que não se pode acessar dados internos de um XControl, XFolder ou XObject senão de dentro do próprio objeto.

A partir da versão 5.0 não é mais permitido inserir Servidores de Alarmes em um XObject, o que era permitido em versões anteriores. Portanto, ao abrir aplicações criadas em versões anteriores que contenham XObjects com este objeto, a Verificação de Domínio reporta esta situação como um erro e não permite a execução deste objeto.

 

Pode-se inserir XObjects em qualquer Servidor de Dados clicando com o botão direito do mouse no Servidor de Dados no modo Domínio, selecionado a opção Inserir e logo após o nome do XObject desejado, conforme mostrado na figura a seguir. No modo Explorer, clique com o botão direito do mouse no Servidor de Dados do projeto, selecione a opção Inserir e logo após o nome do XObject desejado.

Inserindo um XObject no modo Domínio

Inserindo um XObject no modo Domínio

Note que mesmo se os arquivos de Biblioteca possuírem vários XControls, XFolders e XObjects, ao tentar inserir uma instância (cópia), o E3 Studio exibe para as Telas somente os XControls e para os Servidores de Dados somente os XFolders e XObjects disponíveis.

 

NOTA

Deve-se cuidar para não apagar uma Propriedade de um XControl, XFolder ou XObject que possua uma Associação. Estas Propriedades, uma vez apagadas, não aparecem mais na Lista de Propriedades do objeto, e por isto não podem ser editadas. Quando se seleciona a opção Verificação de Domínio, é executada uma procura por estas Propriedades e o usuário é consultado se deseja remover esta Associação ou não.

 

Propriedade inválida

Propriedade inválida

Pode-se optar por não remover e então criar novamente o objeto que foi apagado com a Propriedade que se deseja editar, remover apenas a Propriedade mostrada, remover todas as Propriedades ou não remover nenhuma Propriedade.

Esta página foi útil?