Тема: Delay
Показать сообщение отдельно
  #2  
Старый 04.01.2011, 17:27
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

В программе создавай глобальную переменную, например NowQuit: Boolean = False;
Код:
procedure TForm1.Delay (Milliseconds: Integer);
var
Tick: DWord;
Event: THandle;
begin
Event := CreateEvent(nil, False, False, nil);
try
Tick := GetTickCount + DWord(Milliseconds);
while not NowQuit do begin
while (Milliseconds > 0) and
(MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
begin
Application.ProcessMessages;
Milliseconds := Tick - GetTickcount;
end;
end;
finally
CloseHandle(Event);
end;

Как-то так. Думаю понял про что я. И когда надо выйти из программы пиши NowQuit:= True;
__________________
Помогаю за Спасибо
Ответить с цитированием