Erro Log classe herdada com método ClassName

Estava desenvolvendo uma classe customizada herdando da classe padrão FWMBrowse, visando simplificar seu uso para minhas rotinas. Porém observei que caso eu crie um método ClassName(), que eu sempre crio por padrão em minhas classes o sistema passa a apresentar erros logs, quando eu não coloco esse método a classe funciona perfeitamente. O que poderia ser esse comportamento? Não seria recomendado ter esse método ClassName()?

O erro ocorre quando executa o comando tCXMBrowse():New() na função chamadora, e tanto faz se eu passo ou não um objeto como argumento.


#INCLUDE 'RWMake.ch'
#INCLUDE 'Totvs.ch'
#Include "tlpp-object.th"

Class tCXMBrowse From FWMBrowse

    PUBLIC DATA _oDlg                    AS Object

    PUBLIC METHOD New() Constructor
    PUBLIC METHOD ClassName()        AS Character

EndClass

Method New(oDlg) Class tCXMBrowse

    ::cClassName    := 'tCXMBrowse'
    ::_oDlg            := oDlg

    _Super:New(::_oDlg)

Return Self

Method ClassName()        Class tCXMBrowse

Return ::cClassName

Erro log gerado:


THREAD ERROR ([17368], cirilorocha, NBK061)   02/02/2023 07:16:00
variable is not an object  on FWFORMBROWSE:SETOWNER(FWFORMBROWSE.PRW) 30/12/2022 14:25:06 line : 1698

[TOTVS build: 7.00.210324P-20221215]
Called from FWBROWSE:NEW(FWBROWSE.PRW) 30/12/2022 14:25:06 line : 812
Called from FWFORMBROWSE:NEW(FWFORMBROWSE.PRW) 30/12/2022 14:25:06 line : 212
Called from FWMBROWSE:NEW(FWMBROWSE.PRW) 30/12/2022 14:25:06 line : 147
Called from TCXMBROWSE:NEW(TCXMBROWSE.TLPP) 02/02/2023 07:15:40 line : 24
Called from U_CXTESTE(CXTESTE.TLPP) 02/02/2023 06:48:38 line : 5

Olá,

Ao criar o método ClassName você está sobrescrevendo da classe herdada, fazendo com que todas as validações baseadas nesse método fiquem diferentes do padrão, levando a inconsistências, não conformidades e cenários nunca previstos.

Recomendo a remoção da propriedade e métodos criados para controle do nome da classe.

Valeu pela força Daniel, eu utilizava desta forma porque nunca imaginei que alguns fontes estivessem amarrados ao nome da classe desta forma. Cada dia aprendemos uma coisa nova.