Moin moin,
mich würde interessieren, ob folgendes so korrekt ist, bzw. wie es anders geht?
(Es interessiert nur die gekennzeichnete Stelle mit den Fragezeichen...
Ziel soll sein, in einer
MDI Anwendung mit ein und derselben Funktion verschiedene Fenster zu öffnen.)
Delphi-Quellcode:
procedure TMDI.OeffneFenster(
Cls: TClass; Zentrieren: Boolean = True);
var
i : Integer;
vorhanden : Boolean;
t : TForm;
begin
vorhanden := false;
for i := 0
to MDIChildCount -1
do begin
if MDIChildren[i]
is Cls then begin
vorhanden := true;
MDIChildren[i].WindowState := wsNormal;
MDIChildren[i].Show;
MDIChildren[i].BringToFront;
Break;
end;
end;
if not vorhanden
then begin
t := TForm(
Cls.Create).Create(Self);
//???
if Zentrieren
then
Center(t);
end;
end;
// Aufruf dann z.B.
OeffneFenster(TForm1);
OeffneFenster(TForm5, False);
Lauffähig ist der Code, ich bin mir halt nicht sicher, ob es so korrekt ist.