Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Foi incluída na engine do VsScripter a possibilidade de customização dos eventos dos componentes que estão nas telas do sistema. Por exemplo, em uma tela de emissão de nota será possível adicionar um código personalizado no evento onExit do campo de “código do cliente” .

Este recurso se encontra disponível no meu de “Eventos Via Scritpt”.

Instruções:

Como realizar a customização de um evento:

  • Localize a tela que deseja efetuar a customização;

  • Abra esta tela e localize no menu “Eventos via Script” o sub-menu “Eventos de Componentes”;

  • Ao executar o comando, uma tela para edição será apresentada, conforme figura abaixo:

  • Localize o componente que deseja personalizar;

Antes de editar o script, localize na tela o(s) componente(s) que deseja personalizar, selecione um por vez e utilize os comandos Ctrl+Shift+F9 para identificar o nome do componente.

  • Dentro do editor do script, digite o nome do componente desejado, acrescente um ponto logo após o nome e tecle “ctrl+barra de espaço” para acessar o help sensível ao contexto e visualizar os comandos disponíveis para o componente escolhido. Seguindo o exemplo já incluído no editor, ficaria assim:

procedure MeuOnExit(Sender)
begin
  inherited(Sender, 'OnExit');
  EB_DESCRICAO.Text := EB_DESCRICAO.Text + '*';
end;

begin
  EB_DESCRICAO.OnExit := 'MeuOnExit';
end  

Neste exemplo, ao ser disparado o evento OnExit do campo EB_DESCRICAO a procedure MeuOnExit será executada e irá acrescentar o caracter '*' no final do conteúdo do campo citado.

Alguns pontos devem ser observados no exemplo citado:

  • A presença do inherited(Sender, 'OnExit') é obrigatória. Este comando indica que qualquer tratamento que já exista no evento OnExit será respeitado e executado. A posição do inherited define que o código original será executado ANTES do código que foi customizado (“EB_DESCRICAO.Text := EB_DESCRICAO.Text + '*';“). É possível organizar a ordem de execução conforme a necessidade, bastando para isso alterar posição do inherited. O sistema irá validar a existência do inherited e disparará um erro caso o mesmo não tenha sido incluído.

  • O segundo parâmetro deverá ser o nome do método que esta sendo customizado, neste caso o OnExit, para que o sistema saiba qual método ele deverá executar dentro do sistema. Esse parâmetro é Case Sensitive (ou seja, as letras maiúsculas e minúsculas devem ser digitadas do modo correto) e também é validado pelo sistema;

Finalizando, todos os eventos normalmente disponíveis dentro do ambiente de desenvolvimento (IDE do Delphi) estarão disponíveis para customização. No entanto vale lembrar que alguns componentes podem possuir eventos cujos parâmetros não sejam compatíveis inicialmente com o VsScripter. Estas situações serão analisadas e, quando possível, tratadas pela equipe de tecnologia.

Uma particularidade importante no funcionamento do VsScripter: a associação dos eventos deve sempre estar na ultima unit adicionada ao script, por exemplo, ao se adicionar um form no script, deve-se mover o código “EB_DESCRICAO.OnExit = 'MeuOnExit'“ para este form, pois este agora é a ultima unit do script.

  • No labels