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 (Sub/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.