Utilizando os métodos RunEvent e RunProcedure do Elipse E3.

A partir da versão 5.6 do Elipse E3, foram criados dois novos métodos: RunEvent e RunProcedure. Estes métodos permitem rodar scripts, procedimentos (procedures), ou funções (functions) de objetos arbitrariamente, ou seja, sem uma ordem pré-estabelecida.

Abaixo, descreveremos ambos os métodos do E3 (RunEvent e RunProcedure) individualmente, bem como seus respectivos exemplos de aplicação.

RunEvent(EventName, [Arguments])

Este método executa o script ou scripts associados ao evento indicado pelo parâmetro EventName, que portanto deve ser uma String. O parâmetro Arguments é opcional, e somente deve ser usado nos casos em que o evento necessite de argumentos. Estes argumentos devem então estar separados por vírgulas.

IMPORTANTE: Este método falhará caso o evento indicado não tenha nenhum script a ser executado.

Exemplo 1:

Sub CommandButton1_Click()
Screen.Item("CommandButton3").RunEvent "Click"
End Sub

Script existente no evento Click do objeto CommandButton3:

Sub CommandButton3_Click()
msgbox "Evento Click - Objeto:" & name
End Sub

Exemplo 2:

Sub CommandButton4_Click()
Application.GetObject("Dados1.TagInterno1").RunEvent "TraceEvent"
End Sub

Script existente no evento TraceEvent do objeto TagInterno1:

Sub TagInterno1_TraceEvent()
Application.Trace "Evento disparado"	
End Sub

RunProcedure(ProcedureName, [Arguments])

Este método executa o script ou scripts associados ao procedimento (procedure) ou função (function) indicado pelo parâmetro ProcedureName, que portanto deve ser uma String. O parâmetro Arguments é opcional, e somente deve ser usado nos casos em que o procedimento ou função necessite de argumentos. Estes argumentos devem então estar separados por vírgulas.

IMPORTANTE: Este método falhará caso o procedimento ou função indicados não tenham nenhum script a ser executado. Similarmente, este método retornará um valor nos casos em que a função indicada pelo parâmetro ProcedureName também retorne um valor.

Exemplo:

Sub CommandButton1_Click()
msgbox Screen.Item("CommandButton2").RunProcedure("Soma1",6,6)	
End Sub

Script contendo uma função no objeto CommandButton2:

Sub CommandButton2_Click()
End Sub

Function Soma1(R,U)
   	Soma1 = R+U
End Function

Sub Vazia()
End Sub

 

Para maiores informações sobre a utilização de scripts na plataforma Elipse E3, consulte a seção sobre scripts em nosso portal Knowledgebase.

Este artigo foi útil? Was this post helpful?
Yes0
No0

Deixe seu Comentário

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