Tl++ com nome longo

Buenas, Testando TL++, criei uma User Function para exibir um MSDIALOG. Funcionou legal, mas eu utilizo a rotina GFEFUNGE para realizar chamadas dinâmicas sem precisar ficar criando menus.

Simulei chamada com o nome correto U_SPImportMeuRh funcionou legal, mas por curiosidade para testar o tamanho do método, teste com U_SPImportMeuRh1e chamou também. Isto me leva a crer que esta considerando só os 8 dígitos de sempre.

Alguém tem um senário ou algo para me passar cujo o comportamento seja assimw

existem fontes PRW ou PRG envolvidos na rotina? Caso sim, não funciona. Tem que ser de TLPP para TLPP e não pode envolver esses fontes advpl. Pelos testes que eu fiz, foi isso.

Certo, essa rotina gfefunge creio ser prw, então deve ser isto. Vou testar chamando direto de um menu. Obrigado

Somente 8 dígitos via menu ou via comando o ideal é fazer: U_SPImportMeuRh U_SP1ImportMeuRh

tem um artigo no blog do TOTVS Developer caso lhe interesse: https://medium.com/totvsdevelopers/advpl-10-caracteres-5ea3ab344d41

Certo, havia entendido que com a tl++ haveria a possibilidade de nomes maiores assim de cara :slight_smile:
brigadão

Boa noite, bom saber que o artigo está ajudando! =)

Boa noite,

Quando uma função é invocada pelo ADVPL, o comportamento é interpretar apenas dez caracteres, logo se você tem duas funções com o prefixo de dez caracteres iguais em TLPP, vai cair em alguma das duas, mas não será feita uma diferenciação de qual.

Isso não será alterado, pois pode mudar o comportamento do legado do ADVPL e Protheus.


Porém existe um erro, percebi que a chamada de uma função com namespace a esquerda não está sendo respeitada, exemplo:


meuNameSpace.minhaFuncaoEmTLPP01()
meuNameSpace.minhaFuncaoEmTLPP02()

Como o namespace é algo que existe somente em TLPP, o ADVPL deveria conseguir diferenciar isso, mas está sempre caindo em apenas uma das funções, percebendo isso abri uma issue para os responsáveis pela manutenção do AppServer, assim que eu receber um feedback, volto a postar aqui.

Opa obrigado pelo cenário. Entendo a questão de retrocompatibilidade com o que é legado em ADVPL, mas realmente, com uma feature que só existe em TLPP os namespace poderiam servir para esta diferenciação.