Tipagem de dados em User Functions

Olá,

estive fazendo alguns testes usando tipagem definida, e identifiquei que quando informado tipagem em parâmetros de User Functions, as variáveis vem preenchidas com Nil, e caso haja tipagem de retorno, aparece erro de sintaxe.

Na documentação https://tdn.totvs.com/display/tec/Tipagem+de+Dados o exemplo é com User Function. Porém só está funcionando com Static Functions.

Exemplo dos erros:


User Function fTeste() As Char
Return ""

Syntax error



fTeste2("TESTE")


User Function fTeste2(cParam1 As Char)
    Default cParam1 := ""
Return cParam1

O retorno dessa função vem "", e não "TESTE". Tirando o As Char funciona.

Opa, obrigado por informar Gabriel, já consegui reproduzir a situação, vou verificar sobre manutenção e lhe informo por aqui.

Acredito que tenha que usar a TLPP não ADVPL

https://medium.com/totvsdevelopers/tl-o-que-muda-ace5781d6c49

Não, se observar no artigo já existe tipagem definida muito antes de ser lançado o TLPP. Essa sintaxe já funciona há tempos, o problema reportado aqui é na sintaxe das User Functions.

Gabriel,

O erro foi reproduzido e foi encontrado um problema no CH, uma issue já foi aberta e corrigida, atualmente está no processo de validação para liberação.

A correção acredito que será disponibilizada junto da lib, no dia 27/07.

A LIB não corrigirá o problema, será necessário a atualização dos includes de compilação para solução do problema.

Muito obrigado por informar sobre o problema, raramente criamos user function então seria difícil encontrá-lo.

MAravilha. Muito obrigado novamente pelo apoio Daniel, e estamos ai. Aguardarei então. Só pra alinhar, esses includes estarão disponíveis no portal, certo?

Exatamente, eles são disponibilizados para download no portal.