Главная страница
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.01 c
2-1205518291
La-la-Land
2008-03-14 21:11
2008.04.13
Интернет и файлы


2-1205606103
antonn
2008-03-15 21:35
2008.04.13
работа с active directory


2-1205486032
masv
2008-03-14 12:13
2008.04.13
соединениться с mssql Server 2005 express


2-1205605298
Berkoot
2008-03-15 21:21
2008.04.13
Memo поле в таблице Paradox


2-1205597380
Riply
2008-03-15 19:09
2008.04.13
Упреждающее чтение.