Часто требуется организовать задержку в выполнении кода, но что бы при этому приложение не зависало, могло реагировать на сообщения Windows, в часности могло перерисовываться..
Code: |
procedure Delay(ATimeout: Integer); {©Drkb v.3}
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
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!