No artigo de hoje, vamos ver como buscar em qual linha estou posicionado dentro de um código fonte em AdvPL ou TLPP.
Supondo que no seu código fonte, você precise, por algum motivo, pegar o número da linha em que a função está posicionada. Algo como:
- Para gravar logs
- Para exibir mensagens
- Para mostrar num rodapé de relatório ou algum lugar informativo
- Dentre outras opções
Para isso, você pode usar a função ProcLine, que busca em que linha o fonte está posicionado. Junto dela, você ainda pode usar a ProcName buscando a posição 0 para saber a função atual.
Então considerando o comando abaixo:
ShowLog("Estou na linha " + cValToChar(ProcLine()) + ", da funcao " + ProcName(0) + ", no menu como " + FunName())
Ao executar no Mini Fórmulas, ele retorna a seguinte mensagem:
Referências:
Bom pessoal, por hoje é só.
Abraços e até a próxima.

Bom dia, Daniel! Feliz 2026!
Existe algum método, similar aos usados neste exemplo de aplicação, no qual eu consigo ler o conteúdo da linha do fonte compilado a partir do ponteiro trazido pelo ProcLine()? Não o arquivo atual, mas a versão, compilada? Como se eu estivesse depurando linha a linha. Recentemente acabei perdendo o versionamento de um arquivo compilado numa base de homologação, e não consegui de forma alguma recuperá-lo pelo git. Pesquisando, vi que a única forma seria por engenharia reversa nos binários do RPO, e exigiria pagamento à TOTVS para tal ação. De fato, essa seria a única alternativa?