![]() |
Alle Formulare zur Laufzeit anzeigen
Hallo zusammen,
ich habe eine neue Skin Komponente eingesetzt. Um das Verhalten des Programms schnell zu testen, möchte ich folgende Funktion: Es sollen alle Formulare der Anwendung zur Laufzeit angezeigt werden. Ich habe mir das ungefähr so vorgestellt
Delphi-Quellcode:
Problem:
procedure ShowAllForms;
var i: Integer; begin for i:=0 to pred(application.componentcount)do begin if Application.Components[i] is TForm then begin with TForm(Application.Components[i]).Create(Application)do begin try Showmodal; finally free; end; end; end; end; end; Die meisten Formulare werden zur Laufzeit erzeugt und sind somit nicht in Application.Components aufgelistet! Frage: Wie kann ich mir alle Ableiteungen von TForm (eines Projektes) ausgeben lassen bzw. die Formulare erzeugen lassen ohne alles zu tippem??? Danke Baeuerle |
Re: Alle Formulare zur Laufzeit anzeigen
Hi,
ich befürchte, dass das nicht funktionieren wird. Damit du die Klassen findest, müssen sie IMHO mit RegisterClass registriert werden. Damit würdest du ohnehin nicht darum herumkommen, in jeder Formular - Unit z.B. unde initialization die Procedure RegisterClass aufzurufen. Und dann kannst du deine Formularklassen gleich in einer eigenen Liste speichern und dann mit TFormClass(FormClassList[i]).Create ... deine Formulare erzeugen. Cu, Frank |
Re: Alle Formulare zur Laufzeit anzeigen
Kannst du mir den Typ von FormClassList verraten?
Bzw. wie kann ich die Klassen in einem array oder so speichern? |
Re: Alle Formulare zur Laufzeit anzeigen
Zitat:
Cu, Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz