Abgeleitete Klasse erkennen
-
Hallo !
Wie kann ich denn eigentlich abfragen von welcher Klasse ich sie abgeleitet habe.
Beispielsweise mein Haupftfenster.
class TMainFormular : public TForm { }
Ich finde es, indem ich alle Komponenten durchsuche
for (int i = 0; i < Application->ComponentCount; i++) { TComponent *co = Application->Components[i]; coName = co->Name; clName = co->ClassName(); }
Der Klassenname ist erwartungsgemäß "TMainFormular"
Leider hat das aber scheinbar keine "ParentComponent"
TComponent *coP = co->GetParentComponent(); if (coP != NULL) { clPName = coP->ClassName(); }
Wie komme ich denn nun an die Information dass es sich hier um ein TForm handelt ?
Vielen Dank
-
Mit einem dynamic_cast z.Bsp.
TComponent *co = Application->Components[i]; TForm* form = dynamic_cast<TForm*>(co); if( form != 0) { // Ok es ist von TForm abgeleitet }
-
Super, vielen Dank !