지연 함수

2381 단어 sleep
Delphi 사용에서 sleep을 사용하여 지연을 진행하는 경우가 많습니다. 짧은 시간은 괜찮지만 시간이 길면 sleep은 프로그램이 끊깁니다. 저는 인터넷에서 함수를 찾았습니다. 이 함수는 Sleep을 직접 교체해서 사용할 수 있습니다. 저는 괜찮은 것 같아서 수집했습니다.
procedure Delay(msecs: Integer);
var
Tick: DWord;
Event: THandle;
begin
Event :
= CreateEvent(nil, False, False, nil);
try
Tick :
= GetTickCount + DWord(msecs);
while (msecs > 0) and (MsgWaitForMultipleObjects(1, Event, False, msecs,
QS_ALLINPUT)
<> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
msecs :
= Tick - GetTickCount;
end;
finally
CloseHandle(Event);
end;
end;

좋은 웹페이지 즐겨찾기