Classes Descendentes
Olá, é sabido que a partir de uma classe é possível listar seus ancestrais. E o contrário, também é possível? Ou seja, a partir de uma classe listar as classes descendentes.
Grato,
Grato,
Marioguedes
Curtidas 0
Respostas
Massuda
13/04/2005
...é sabido que a partir de uma classe é possível listar seus ancestrais.
Como é que se faz isso?GOSTEI 0
Beppe
13/04/2005
E o contrário, também é possível? Ou seja, a partir de uma classe listar as classes descendentes.
De maneira geral, não. Cada classe sabe o seu ancestral imediato(Classe.Parent), mas não conhece seus descendentes. O que pode fazer é guardar as classes em uma lista e percorrer ela com a pergunta Classe.InheritsFrom.
GOSTEI 0
Marioguedes
13/04/2005
Massuda, a rotina que eu uso é assim:
procedure TForm1.Button1Click(Sender: TObject); const QUEBRA = #1310 + ´ |´ + 1310; var listagem : string; classe : TClass; begin classe := TButton; //Coloque aqui a classe a ser listada while (classe <> TObject) do begin listagem := listagem + classe.ClassName + QUEBRA; classe := classe.ClassParent; end; listagem := listagem + ´TObject´; ShowMessage(listagem); end;
GOSTEI 0