Nesse vídeo demonstraremos a utilização da função ProcName, que serve para buscar o nome das funções abertas 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 zExe394
Retorna o nome dos processos na pilha de chamadas
@type Function
@author Atilio
@since 28/03/2023
@see https://tdn.totvs.com/display/tec/ProcName
@obs
Função ProcName
Parâmetros
+ nAtivacao , Numérico , Número do processo (iniciando com 0 de Atual)
Retorno
+ cRet , Caractere , Nome do processo
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe394()
Local aArea := FWGetArea()
Local nAtual := 0
Local cProcAtu := ""
Local cMensagem := ""
//Enquanto for verdadeiro
While .T.
//Busca o nome do processo atual
cProcAtu := ProcName(nAtual)
//Se existir, incrementa a mensagem
If ! Empty(cProcAtu)
cMensagem += "#" + StrZero(nAtual, 4) + " - " + cProcAtu + CRLF
//Senão, encerra o laço
Else
Exit
EndIf
//Incrementa o contador dos processos
nAtual++
EndDo
//Exibe os processos encontrados
ShowLog(cMensagem)
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.