Moin Lowell,
auch ungetestest, sollte aber auch gehen:
Im Gegensatz zu sakuras Beispiel durchsucht dieses direkt nur das Array mit den vorhandenen
MDI Child Fenstern.
Delphi-Quellcode:
function TForm1.TForm2AlreadyExists : Boolean;
var
i : integer;
begin
Result := false;
for i := 0 to self.MDIChildCount-1 do
begin
if self.MDIChildren[i] is TForm2 then
begin
Result := true;
exit;
end;
end;
end;
Da dies als Methode vom Haupformular gemacht ist, muss sie noch dort eingetragen werden :
Delphi-Quellcode:
TForm1 = class(TForm)
//.... die übrigen Eintragungen
function TForm2AlreadyExists : Boolean
private
//...
end;
Für weitere TFormx dann analog.
Mir ist nur noch kein sinnvoller Weg eingefallen, wie man den TFormx Typ als Parameter übergeben kann (auch das müsste irgendwie gehen).