Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
Delphi 7 Enterprise
|
AW: Delay
8. Aug 2012, 18:45
Man könnte doch die beiden Versionen auch noch wieder kombinieren, von toms und negaH (so hat man ne Ressourcen sparende nonVCL Version):
Delphi-Quellcode:
procedure Delay(Milliseconds: Integer);
var
Tick: DWord;
Event: THandle;
Msg: TMsg;
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;
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then begin;
if Msg.message = WM_QUIT then begin;
PostQuitMessage(Msg.wParam);
Break;
end;
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
Milliseconds := Tick - GetTickcount;
end;
finally
CloseHandle(Event);
end;
end;
|
|
Zitat
|