Einzelnen Beitrag anzeigen

PaKir

Registriert seit: 2. Jan 2005
Ort: Neunkirchen
20 Beiträge
 
Delphi 7 Personal
 
#1

Problem mit Delay

  Alt 10. Mär 2005, 18:04
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.
  Mit Zitat antworten Zitat