Ungetested, aber so sollte es gehen:
Delphi-Quellcode:
procedure CreateAndOpenForm(var frm:TForm; fc:TFormClass)
begin
if not Assigned(frm) then
frm := fc.Create(nil {Application});
if frm.Active then
begin
if frm.WindowState = wsMinimized then
frm.WindowState := wsNormal; // falls Form minimiert ist und der User es nicht sieht
frm.BringToFront;
end
else
frm.Show;
end;