Man sollte NIEMALS Application.Processmessages manuell aufrufen!
Kannst du das auch begründen? Was ist dagegen einzuwenden die Nachrichtenschlange abzuarbeiten, wenn einem danach ist?
Weil an der Stelle
alle anstehenden Messages abgearbeitet werden. Das Schlimmste sind dann die WM_TIMER-Messages (TTimer und Konsorten) die mal dort, mal hier anschlagen und natürlich die Thread-Synchronisierung an sich. Das kann soviele Nebeneffekte (vor allem in einem gewachsenen Projekt) haben, das kann man sich gar nicht vorstellen. So einen Code zu debuggen ist die Hölle (spreche aus Erfahrung) > man kann schlicht vieles nicht reproduzieren. Da kann dann das Programm schonmal abhängig von der CPU-Taktfrequenz/Netzwerk etc. sich unterschiedlich verhalten.
Ich hab's schonmal gesagt: TApplication.Processmessages ist in seiner Form ein Designfehler > es hätte protected sein müssen, dann wären viele Delphi-Anwendung um einiges stabiler.
PS: Es gibt kein einiziges Problem, welches man ohne TApplication.Processmessages nicht lösen könnte, aber man bekommt welche, wenn man's nutzt.