Protheus :: Programação Básica em Advpl “Combo XXV”

Chamando Funções Indiretamente:

Em Advpl é possível efetuar a chamada de funções indiretamente usando o operador de macros. Este procedimento lhe permitirá usar aplicativos controlados por dados.

Pode-se usar um bando de dados ( à exemplo do SX3 ) para armazenar uma seqüência de funções a serem chamadas, e depois usá-lo para gerar telas, efetuar validação de campos, iniciar o conteúdo de campos, etc.

Para passar uma função como parâmetro, passe o nome da função como uma string de caracteres ou como uma chamada de função dentro de um bloco de codificação. Para chamá-la, use o operador de macros & ou a função __ExecMacro() quando estiver passando uma string de caracteres ou Eval() para avaliar o bloco de código.

Exemplo:

cExecTeste := “U_TESTE()”
&( cExecTeste )

ou

cExecTeste := “U_TESTE()” //Executa a função U_TESTE()
__ExecMacro ( cExecTeste ) //Executa a função U_TESTE()

ou ainda

bExecTeste := { || U_TESTE() )
Eval( bExecTeste ) //Executa a função U_TESTE()

Comentários

Postagens mais visitadas