Gostaria de saber como identificar o tipo do dado de uma propriedade de uma classe. Tentei utilizar as funções Type e ValType mas ambas retornaram 'U'.
Boa tarde Giordano, você quer literalmente saber o tipo? Como a propriedade foi tipada na declaração da classe? Ou apenas o conteúdo presente na propriedade?
Boa tarde, Daniel! A propriedade não foi tipada. A mesma pode possuir vários tipos, pois é uma classe que efetua a leitura de um arquivo. O usuário pode digitar caractere ou númerico.
Boa tarde, eu acredito que você está usando a função certa VALTYPE() você chegou a validar no debug se no momento que passa pela validação está com o dado?
Marcos, boa tarde. O :: só existe no código fonte, na pré-compilação isso vira self, então acaba não tendo qualquer impacto, faça o teste, utilize :: para utilizar de uma propriedade ou método e gere o PPO de seu fonte.
No antigo TDS (Eclipse) você tinha uma opção (preferências) que ao compilar um fonte gerava o PPO, no VSCode TDS eu sinceramente não sei… Eu utilizo a extensão também da TOTVS, mas a primeira versão, a do Rodrigo Antônio que fez por iniciativa própria, nessa versão você compila utilizando de shift+ctrl+f9, isso gera o PPO.
Quando eu exibia a propriedade ::aData no Debug Console do VSCode era exibido o conteúdo normalmente, ao informar ValType(::aData) retornava Nil, então digitei ValType(Self:aData) e retornou 'A' corretamente.
Acredito que tenha sido só um equivoco na hora de usar o Debug Console mesmo... de qualquer maneira, obrigado a todos pela ajuda.
Boa noite, na verdade então o erro era no debug. Entendi, sim, o debug normalmente não aceita os mesmos atalhos que a linguagem, pois ele não tem pré-compilação.
Bom, talvez o que tenha acontecido comigo tenha sido um erro do VSCode tambem no momento do Debug por isso mencionei isso na minha resposta. No meu caso, estava utilizando GetHeaders(::propriedade) e ele nao conseguia retornar o valor, quando utilizei o self, funcionou corretamente.