Ich mache diesen ganzen Zirkus mit Application.ShowMainForm gar nicht erst.
Für solche Variationen beim Programmstart sieht meine
dpr-Datei so aus:
Delphi-Quellcode:
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TdtmMain, dtmMain);
Application.CreateForm(TfrmMain, frmMain);
if ParamCount >= 3 then
begin
frmMain.DoJobs;
frmMain.Close;
end
else
begin
Application.Run;
end;
Ich mache also bei parametergesteuertem Aufruf gar kein Application.Run. Dafür habe ich eine eigene Methode "DoJobs", die dann die automatisierten Prozesse durchführt. Dort eine Fortschrittsanzeige einzubauen sollte problemlos möglich sein. Ich hatte bisher keinen Bedarf für eine Anzeige, da das bei mir in der Regel zeitgesteuerte Prozesse sind, die keine Visualisierung erfordern. Theoretisch könnte man dafür auch ein Konsolen-Programm schreiben, aber bei Bedarf nutze ich solche Anwendungen auch mit
GUI. Da ist ein Konsolenprogramm nicht mehr so praktisch.