| 
       Альтернатива для Sleep(), но чтобы приложение не зависало  | 
    Previous Top Next | 
Часто требуется организовать задержку в выполнении кода, но что бы при этому приложение не зависало, могло реагировать на сообщения Windows, в часности могло перерисовываться..
Code:  | 
procedure Delay(ATimeout: Integer); {©Drkb v.3(2007): www.drkb.ru} 
 var t: Cardinal; begin while ATimeout > 0 do begin t := GetTickCount; if MsgWaitForMultipleObjects(0, nil^, False, ATimeOut, QS_ALLINPUT) = WAIT_TIMEOUT then Exit; Application.ProcessMessages; // Пришли новые сообщения Windwos , обрабатываем их.. dec(ATimeout, GetTickCount - t); end; end;  | 
 
 
Автор: jack128 
Взято из http://forum.sources.ru
©Drkb::02033