Noch eine Ergänzung (irgendwie reizt mich das jetzt):
So gehts auch immer und das Programm schließt auch ordentlich. Allerdings hab ich natürlich keine Ahnung, ob das auch für dein echtes Projekt tauglich ist:
Delphi-Quellcode:
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
if ParamCount>0 then begin
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm1, Form1);
end else begin
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
end;
Application.Run;
end.
Das OnActivate im Form1 kannst du dann löschen.