KB-28399: Criando telas indexadas.

Descrição:

Como posso criar um único objeto gráfico para comandar vários motores?

Solução:

Isto requer a criação de objetos de biblioteca. Para isto, siga estes procedimentos:

1. Crie um XObject (DadosMotor no exemplo) que receba todos os valores padrão de um motor em suas propriedades.

2. Crie um XControl (XMotor no exemplo) para representar a interface do objeto de comando do motor. Este XControl deverá ter uma propriedade do tipo do XObject (FonteDados no exemplo). Além disto, no evento que chama a tela de comandos (evento Click() da figura do motor, por exemplo), adicione o seguinte script:

  Arg = XMotor.FonteDados.PathName
  Application.DoModal "TelaEstadoIndexada", , , , , , Arg

3. Salve e registre a biblioteca.

4. Em uma pasta de dados do servidor, adicione tantos XObjects quantos forem os motores existentes.

5. Na tela desejada, adicione os XControls desejados e associe-os (na propriedade FonteDados) com os respectivos XObjects da pasta de dados.

6. Crie uma tela genérica (TelaEstadoIndexada no exemplo), e no evento OnPreShow() adicione o script que passa o nome do XObject correspondente ao XControl que foi clicado na tela anterior.

Ao clicar sobre um motor qualquer da TelaInicial com a aplicação em execução, a propriedade PathName do XObject associado a este XControl será atribuida à variável Arg. Além disto, será executado o comando que abre a tela genérica (TelaEstadoIndexada).

Ao abrir a tela genérica, será executado no evento OnPreShow() o script que passa o valor da variável Arg (contendo a propriedade PathName do XObject) para a propriedade do(s) objeto(s) de tela que deve(m) mostrar os dados do servidor.

Anexos:

IndexandoTelas.zip

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 3 / 5. Count: 2

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *