Thema: Delphi Ersatz für Sleep?

Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Ersatz für Sleep?

  Alt 9. Mär 2016, 20:36
Ich habe jetzt folgendes versucht, aber es funktioniert leider auch nicht:
Delphi-Quellcode:
procedure TForm1.Delay(Milliseconds: Integer);
var
  Tick: DWORD;
  Event: THandle;
  WindRect, OldRect: TRect;
begin
  Event := CreateEvent(nil, False, False, nil);
  try
    Tick := GetTickCount + DWORD(Milliseconds);
    GetWindowRect(FAppWnd, OldRect);
    while (Milliseconds > 0) and (MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
    begin
      Application.ProcessMessages;
      if Application.Terminated then EXIT;

      GetWindowRect(FAppWnd, WindRect);
      if OldRect <> WindRect then EXIT;
      OldRect := WindRect;

      Milliseconds := Tick - GetTickCount;
    end;
  finally
    CloseHandle(Event);
  end;
end;

Geändert von PeterPanino ( 9. Mär 2016 um 20:41 Uhr)
  Mit Zitat antworten Zitat