Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Formulare meiner Anwendung abfragen
mcst09 - Fr 02.06.06 08:03
Titel: Formulare meiner Anwendung abfragen
Hallo,
gibt es eine Möglichkeit, die Namen der Formulare meiner Anwendung abzufragen und in eine ComboBox zu laden?
Dies alles soll natürlich zur Laufzeit erfolgen...just for Info!
Axl
Blackheart666 - Fr 02.06.06 08:13
Form.Name;
Lannes - Fr 02.06.06 08:16
Hallo,
schau Dir mal Screen.FormCount und Screen.Forms[x] an.
azubi_20 - Fr 02.06.06 08:36
Die obrigen Beiträge ergeben folgende Funktion :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure LoadNameOfFormsInCombobox(cb : TComboBox; SendForm : TForm); var i: Byte; begin cb.Clear; for i := 0 to Screen.FormCount - 1 do begin cb.AddItem(Screen.Forms[i].name, SendForm); end; cb.ItemIndex := 0; end; |
Beispielaufruf :
Delphi-Quelltext
1:
| LoadNameOfFormsInCombobox(combobox1,self); |
mcst09 - Sa 03.06.06 00:20
hallo,
kann man so auch formulare auslesen die zu dem zeitpunkt nicht geladen sind, aber die in der anwendung existieren??
axl
FrankLink - Sa 03.06.06 18:02
Hallo,
das funktioniert nur, wenn du alle Formulare auf automatisches Erstellen stehen hat. Das bedeutet, dass Du alle Formulare beim Start Deine Anwendung automatisch durch Delphi-Code erzeugen läst.
Machst Du das nicht, so kennt Deine Anwendung die Formularklassen nicht.
Ich habe das in meiner Anwendung so geregelt, dass ich alle meine Formulare generell in einem Array verwalte. Dann kann ich die einzelnen Formularklassen über das Array abfragen.
Es gibt auch nach andere Lösungen mit RegisterClass und dann über alle registrierten Klassen interieren und prüfen ob Sie von TForm oder einer BasisKlasse von der Du Deine Formulare ableitest abgeleitet sind.
Aber der einfachste Weg ist alle Deine Formulare in einem Array zu speichern, dass Du global verfügbar machst. Dann kannst Du Deine Kombobox aus dem Array befüllen.
Gruss
Frank
mcst09 - Sa 03.06.06 20:02
Hallo Frank,
danke für die Ratschläge.
Kannst Du mir noch verraten wie das Array aufgebaut ist?
Was genau steht dort drin?
Danke
Axl
Softchaos67 - Do 03.08.06 11:02
FrankLink hat folgendes geschrieben: |
Hallo,
Es gibt auch nach andere Lösungen mit RegisterClass und dann über alle registrierten Klassen interieren und prüfen ob Sie von TForm oder einer BasisKlasse von der Du Deine Formulare ableitest abgeleitet sind.
Frank |
Wie macht man das genau?
Das würde mich sehr Interressieren.
Gruss
Matthias
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!