Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выход из приложения


Vetal73 ©   (2008-03-20 10:29:00) 

после компиляции при запуске не могу закрыть окно пока алгоритм до конца не отработает. Что сделать?


ЦУП   (2008-03-20 19:57:00) [1]


> vetal73   (20.03.08 14:34) [3]
> Application.ProcessMessages уже вставил, окно можно свернуть,
>  но закрыть пока не закончится обработка нажатия button
> не получается.


Стандартное решение:

В теле цикла периодически(!) выполняется Application.ProcessMessages. В обработчике нажатия кнопки устанавливается boolean-флаг. В теле цикла этот флаг проверяется для прерывания цикла.


Palladin   (2008-03-20 18:13:00) [2]

только не вызывать слижком уж часто... а то весь цинус алгоритма сломается из-за года обработки :)

и вообще очень рекомендую Семеныч   (20.03.08 10:44) [2] часть вторая


{RASkov}   (2008-03-20 15:01:00) [3]

Application.ProcessMessages;
if Application.Terminated then Break;

или цикл так сделать:
while not Application.Terminated and (...) do...


Семеныч   (2008-03-20 14:36:00) [4]

> vetal73   (20.03.08 14:34) [3]

Код обработки нажатия кнопки - в студию.


vetal73   (2008-03-20 14:34:00) [5]

Application.ProcessMessages уже вставил, окно можно свернуть, но закрыть пока не закончится обработка нажатия button не получается.


Семеныч   (2008-03-20 10:44:00) [6]

> Vetal73   (20.03.08 10:29)

Если алгоритм циклический, вставьте в цикл Application.ProcessMessages.

Если нет, то создайте класс - потомок TThread и вынесите алгоритм в его метод Execute.


Kolan   (2008-03-20 10:33:00) [7]

Какое окно? Какой алгоритм?


Наверх

Титульная страница Поиск, карта сайта Написать письмо