Hallo,
dachte bisher immer, das Application.Run erst das Programm "zum Laufen" bringt. Eventuell setzt Du für's Hauptform im Objectinspektor Visible auf False und passt den Quelltext noch ein bisserl an:
Delphi-Quellcode:
if (AnsiStrLiComp(PChar(ParamStr(1)),'open',4)=0) then begin
Application.ShowMainForm := false; // Hauptformular nicht anzeigen
Hauptform.NebenformShow;
end else begin
Application.ShowMainForm := True; // Hauptformular anzeigen
end;
In dieser Form mache ich es immer bei solchen Programmen, die einerseits als "bedienbare" Programme mit Oberfläche laufen sollen, aber, wenn sie mit Paramter aufgerufen werden, sich wie Batchprogramme verhalten sollen. Bei diesen "Psuedobatchprogrammen" sorge ich dann dafür, dass Application.Run nicht aufgerufen wird, sondern irgendeine andere Methode im Hauptformular, die die entsprechende Logik enthält. D. H.: Das Application.Run befindet sich im Else-Zweig der If-Abfrage.