Problema - Herança de classes com TLPP

Olá pessoal,

recentemente implementando algumas classes com herança em TLPP, percebi que depois de instanciar pela segunda vez uma classe filha, está sendo apresentado erro de invalid property ATRIBUTO.

Achei que era por conta de algum leek de memória que eu poderia ter deixado passar, por isso implementei outra estrutura de classes pai x filha básica, apenas para simular o problema, e realmente está acontecendo um problema ao instanciar na mesma sessão uma classe com herança 2 vezes, e apenas em TLPP, renomeando para PRW funciona certinho.

Estou anexando o fonte de teste que fiz para simular o problema, basta executar a função: teste.heranca.u_fTesteHeranca() em uma rotina de execução de fórmulas qualquer. Na primeira execução da função será instanciado corretamente as classes filha e pai, porém na segunda execução na mesma sessão, a classe pai dá erro, informando que atributo não existe.

Como paliativo terei que refatorar as classes usando composição de objetos, ou mudar para PRW (avaliando ainda qual melhor alternativa). Mas isso é um problema grave.

compartilhar
  • Realmente isso está ocorrendo. Também estou com o mesmo problema e cenário. Será que poderia ter algo a ver com Namespace?

    Carlos Eduardo Niemeyer Rodrigues   11 de Feb de 2021
  • Infelizmente, também reproduzi a situação.

    Daniel Mendes   12 de Jun de 2021
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags tlpp classes heranca erro ou faça a sua própria pergunta.