Was geht denn auf den zweiten Blick schief?
Ich hab das mal bei mir mit 2
MDI-Childs probiert - es funktioniert. Aber vielleicht ist das nur der erste Blick, den ich bisher getestet habe?
Wobei es auch mit einer Mischung aus deinen beiden Vorschlägen funktioniert (pack ich mal noch mit rein, weil mir diese Variante am besten gefällt
):
Delphi-Quellcode:
procedure THauptForm.MDIClientFormErzeugen(FormularKlasse: TFormClass);
var
i: integer;
begin
for i:=0 to pred(MDIChildCount) do
if MDIChildren[i] is FormularKlasse then
begin
MDIChildren[i].BringToFront;
MDIChildren[i].WindowState:=wsNormal;
Exit;
end;
FormularKlasse.Create(self);
end;