Einzelnen Beitrag anzeigen

Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Problem mit Delay

  Alt 18. Feb 2008, 09:49
Delphi-Quellcode:
procedure Delay(Milliseconds: Cardinal);
var
  Tick: DWord;
  Event: THandle;
begin
  Event := CreateEvent(nil, False, False, nil);
  try
    Tick := GetTickCount + 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;
Ich kann es mir nur so erklären, dass GetTickCount einen vorzeichenlosen Integerwert zurückliefert, "Milliseconds" aber VZ-behaftet ist. Mit diesem Code müsste das Problem behoben sein.
  Mit Zitat antworten Zitat