Nesse vídeo demonstraremos em como utilizar as funções AtIsRotina e FWIsInCallStack, sendo que ambas validam se uma função esta na pilha de chamadas.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe049 Exemplo de função que verifica se esta sendo acionada por alguma função da pilha de chamadas @type Function @author Atilio @since 01/12/2022 @see https://tdn.totvs.com/pages/releaseview.action?pageId=161349910 @obs Função AtIsRotina Parâmetros + Indica o nome da função a ser procurada na pilha de chamadas Retorno + Retorna .T. se encontrou ou .F. se não encontrou Função FWIsInCallStack Parâmetros + Indica o nome da função a ser procurada na pilha de chamadas Retorno + Retorna .T. se encontrou ou .F. se não encontrou **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe049() Local aArea := FWGetArea() Local cFuncBusca := "" //Buscando pela AtIsRotina (só funciona se tudo tiver maiúsculo) cFuncBusca := "U_ZMINIFORM" If AtIsRotina(cFuncBusca) FWAlertInfo("Foi acionado pela função - " + cFuncBusca, "Exemplo AtIsRotina") EndIf //Buscando pela FWIsInCallStack (independe se for maiúscula ou minúscula) cFuncBusca := "u_zMiniForm" If FWIsInCallStack(cFuncBusca) FWAlertInfo("Foi acionado pela função - " + cFuncBusca, "Exemplo FWIsInCallStack") EndIf FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.