Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как выполнить какой-то процесс тогда, когда пользователь не работает с моим приложением?

01.01.2007
p0s0l

Создайте процедуру, которая будет вызываться при событии Application.OnIdle.

Обьявим процедуру:

{Private declarations}
procedure IdleEventHandler(Sender: TObject; var Done: Boolean);

В разделе implementation опишем поцедуру:

procedure TForm1.IdleEventHandler(Sender: TObject; var Done: Boolean);
begin
  {Do a small bit of work here}    
  Done := false;
end;

В методе Form'ы OnCreate укажем что наша процедура вызывается на событии:

Application.OnIdle.Application.OnIdle := IdleEventHandler;

Событие OnIdle возникает один раз - когда приложение переходит в режим "безделья" (idle).

Если в обработчике переменной Done присвоить False событие будет вызываться вновь и вновь, до тех пор пока приложение "бездельничает" и переменной Done не присвоенно значение True.

Previous page:
Глобальный класс TApplication
Top:
DRKB
Next page:
Как сворачивать все приложение при сворачивании неглавного окна?