Mit der Funktion Sleep wird die Ausführung des aktuellen Threades unterbrochen. Wird Sleep im Hauptthread der Anwendung aufgerufen, so befindet sich die gesamte Anwendung anschließend im Ruhezustand und es werden in diesem Zeitraum weder Nachrichten noch Befehle abgearbeitet.
Das bedeutet, dass die gesamte Anwendung still steht und nicht mehr reagiert.
Um jetzt nicht das gesamte Programm zum stillstand zu bringen, sondern das Programm wie in einer Schleife laufen zulassen, nimmt man ProcessMessage. In Pascal gab es die Funktion Delay...
Delphi-Quellcode:
procedure Delay(const Milliseconds: DWord);
var Start: Integer;
begin
Start:=GetTickCount;
while GetTickCount-Start <= Milliseconds do
application.ProcessMessages;
end;
[Edit]Hätte mir doch ni soviel Zeit lassen sollen, dann wäre ich erster...
[/Edit]