Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.13;
Скачать: CL | DM;

Вниз

Выход из приложения   Найти похожие ветки 

 
Vetal73   (2008-03-20 10:29) [0]

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


 
Kolan ©   (2008-03-20 10:33) [1]

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


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

> Vetal73   (20.03.08 10:29)

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

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


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

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


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

> vetal73   (20.03.08 14:34) [3]

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


 
{RASkov} ©   (2008-03-20 15:01) [5]

Application.ProcessMessages;
if Application.Terminated then Break;

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


 
Palladin ©   (2008-03-20 18:13) [6]

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

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


 
ЦУП ©   (2008-03-20 19:57) [7]


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2008.04.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
15-1204116119
Finder
2008-02-27 15:41
2008.04.13
Веб-клиент IRC


2-1205665714
Igor23
2008-03-16 14:08
2008.04.13
Дата


2-1205927037
asdf2
2008-03-19 14:43
2008.04.13
Как сделать MultiSelect в TCheckListBox?


2-1205907552
Fr1K
2008-03-19 09:19
2008.04.13
DBgr1d Проблемы


2-1205752151
Dima
2008-03-17 14:09
2008.04.13
Чем заменить listbox