procedure Delay(msecs: integer ); //延时 毫秒 |
var |
Tick: DWord; |
Event: THandle; |
begin |
Event := CreateEvent( nil , False , False , nil ); |
try |
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 ; |
except |
on e: Exception do |
end ; |
finally |
CloseHandle(Event); |
end ; |
end ; |