Ich hab nach einer alternative zu “sleep“ und einer anderen Prozedure gesucht und das hier hier im Forum gefunden
Delay revisited. Funktioniert auch eigentlich ganz gut, da die CPU-Auslastung angenehm niedrig bleibt.
Delphi-Quellcode:
procedure Delay(Milliseconds: Integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(Milliseconds);
while (Milliseconds > 0) and
(MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
Milliseconds := Tick - GetTickcount;
end;
finally
CloseHandle(Event);
end;
end;
Jetzt aber zu meinem Problem. Nach ein paar Sekunden kommt immer dieser Fehler bei "Milliseconds := Tick - GetTickcount":
http://img34.exs.cx/img34/3849/unbenannt4np.jpg
Ich hab wirklich überhaupt keine Ahnung warum. Im Normalbetrieb meines Programms ändert sich die Zeit zwar andauernd aber auch bei einem Testprogramm das immer 200msec warten soll kommt der Fehler. Wisst ihr an was das liegen kann.