Es geht nicht darum, ewig zu diskutieren, sondern nur um die hier im Forum übliche "
Meine Sicht ist die einzig wahre..."-Streiterei.
WladiD hat vollkommen Recht: Der Aufruf von
Application.ProcessMessages kann zu schwer lokalisierbaren Zugriffsverletzungen führen. Dazu gab es erst vor kurzem eine
Diskussion.
Manche Probleme lassen sich allerdings nur unzureichend ohne den Einsatz von
Application.ProcessMessages lösen, da damit nicht nur Nachrichten abgearbeitet, sondern zum Teil auch Rechenzeit abgegeben wird, was für manche Aufgaben äußerst wichtig ist. Allerdings sollten dann auch entsprechende Sicherheitsmaßnahmen getroffen werden.
Wenn es nur darum geht, ein Steuerelement zu aktualisieren, reicht der Aufruf der Methode
Update vollkommen aus, ist ebenfalls in einer Zeile erledigt und birgt nicht die mit
Application.ProcessMessages verbundenen Risiken:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
n: Integer;
begin
for n:=0 to 10 do
begin
Label1.Caption:=IntToStr(n);
Label1.Update;
Sleep(200);
end;
end;