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.
Das ist meiner Meinung nach die einzige, sinnvolle Variante.
Und das Schöne daran: Banal einfach zu implementieren.
Setzt halt voraus, das man Progammsteuerungslogik nicht von irgendwelchen Anzeigeereignissen abhängig macht (was ich übrigens für einen sehr schlechten Programmierstil halte).
'ne Datei im FormActivate zu laden, ist keine besonders gute Idee. Was ist denn, wenn ein Formular mehrfach aktiviert wird? Wird die Datei dann mehrfach geladen? Jedes Mal, wenn man das Programm in den Vordergrund holt (und dann wieder in den Hintergrund schiebt, weil einem das Laden der Datei zu lange dauert, um danach das Programm wieder in den Vordergrund zu holen, weil das Laden endlich fertig ist, was zu einem erneuten Laden der Datei führt, weshalb man es für diese Zeit wieder in den Hintergrund schiebt, um danach das Programm wieder in den ...)?