| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Timer |
| Автор: Max_7 10.8.2005, 05:27 |
| Всех приветствую. Как по сигналу от Таймера внешне прекратить выполнение процедуры. Спасибо. |
| Автор: vadims 10.8.2005, 05:59 |
| Наверное надо завести внешний флаг например bool continueProc = true; в теле программы постоянно его проверять while( ... ) { if ( !continueProc ) return; .... } А в обработчике таймера void __fastcall TForm1::Timer1Timer(TObject *Sender) { continueProc =false; } |
| Автор: Петрович 10.8.2005, 06:58 |
| Не поможет. Таймер обрабатывается как сообщение окну. А пока идет выполнение процедуры, сообщения не обрабатываются. Можно конечно воспользоваться Application.ProcessMessage, но, надо учитывать его нюансы. Правильнее, длительные действия выносить в отдельные потоки. |