Acredito que esta situação seja comum para muitos programadores, que assim como eu, estão nesta jornada.
Para mostrar a solução, vou usar um exemplo:
* Crio uma classe chamada "TNomeStringField", ela deriva de "TStringField", segue a declaração:
TNomeStringField = class( TStringField )end ;
* Declaro um "objeto" do tipo TNomeStringField :
varTNome: TNomeStringField ;
* Instancio o objeto de fato:
TNome := TNomeStringField.Create( self ) ;
* Para obter o nome da class do objeto TNome, faça o seguinte:
showmessage( TClass( TNome.ClassType ).ClassName ) ;
* Para obter o nome da class exatamente ancestral à que eu criei:
if TNome.ClassParent <> nil then showmessage( TNome.ClassParent.ClassName ) ;
obs: Veja que antes de obter o valor de ClassParent, fiz a verificação se esta propriedade era diferente de nil.
É isso!
Até+
Nenhum comentário:
Postar um comentário