mahlzeit,
für formulare ist das eigentlich recht einfach:
Delphi-Quellcode:
var i: integer;
Comp: TComponent;
begin
Memo1.Clear;
for i := 0 to Application.ComponentCount - 1 do
begin
Comp := Application.Components[i];
if Comp is TForm then
Memo1.Lines.Add(TForm(Comp).Name);
end;
end;
formulare die beim start dieser funktion noch nicht initialisiert wurden (project->optionen->formulare) werden in diesem fall nicht mit aufgelistet. dialoge (TOpenDialog...) funktionieren
imho generell nicht da ja der dialog erst mit execute() erstellt wird und danach wieder freigegeben wird (ich lass mich aber gern eines besseren belehren). eventuell solltest du die funktion erst aufrufen wenn das fenster/dialog angezeigt/gebraucht wird. was genau willst du denn machen?