Zählen von TWinControl abgeleiteten Komponenten

borlandismyhero

Grünschnabel
Hallo,

Weiß jemand, ob und wie man die Anzahl einer von TWinControl abgeleitete Komponente auf der Form zählen kann? Die Funktion sollte so funktionieren wie ControlCount, nur eben nicht für alle Controlls, sondern nur für die selbst erstellte abgeleitete Klasse.

Vielen Dank im Voraus
 
Ich habe es noch nicht ausprobiert, aber kannst Du anstatt der Anzahl visueller Komponenten vielleicht auch eine Liste derselben bekommen (zum Beispiel ein Array von Zeigern)? Dann könntest Du jedes einzelne dynamisch in den Typ [AbgeleiteteKlasse] zu casten versuchen. Wenn dabei kein Nullzeiger herauskommt, hast Du eines Deiner eigenen Objekte erwischt. Ungefähr so also:
Code:
for (int i = 0; i < (int)KomponentenAnzahl; i++)
{
    if (dynamic_cast<MeineKomponente *> (KomponentenListe[i] != NULL)
        anzahlMeineKomponenten++;
}

Natürlich kannst Du das "!= NULL" auch weglassen, ein Zeiger als Bedingung wird immer auf ungleich NULL geprüft.
 

Neue Beiträge

Zurück