Вниз
Скачать: CL | DM;

Application.ProcessMessages   Найти похожие ветки 

← →
Юра   (2002-12-25 11:09) [0]

Есть в теле программы такое:
while TRUE do
Application.ProcessMessages;

В качестве TRUE выступает некое условие. Я понимаю, что так делать ОЧЕНЬ неправильно :-) Нажатия на кнопки и порождаемые ими события с вызовом процедур и т.п. вызываются нормально, а вот форма не закрывается. Закрывается она сразу, как только программа выйдет из цикла (если в процессе выполнения цикла щелкнули по крестику). Вопрос вот в чем: чем закрытие формы отличается от всех прочих событий?


← →
Lady D ©   (2002-12-25 11:12) [1]

Завести глобальную переменную и оценивать ее в цикле. При необходимости - break


← →
Clickmaker ©   (2002-12-25 11:33) [2]

Application.ProcessMessages не обрабатывает WM_QUIT, которое посылается приложению при закрытии главной формы. Лучше этот цикл выполнять в отдельном потоке.


← →
Юра   (2002-12-25 11:40) [3]

Тогда так: а разве использование подобных циклов вообще допустимо? Загрузка ЦП сразу прыгает на 100%.


← →
Clickmaker ©   (2002-12-25 11:46) [4]

Если в отдельном потоке, то Application.ProcessMessages не нужен и загрузки на 100 не будет



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
14-15301
Anatoly Podgoretsky
2002-12-18 07:39
2003.01.06
Именинники 18 декабря


6-15203
9999
2002-11-06 14:57
2003.01.06
Имена компов в сети?


3-14910
Stas
2002-12-13 11:43
2003.01.06
Кодировка таблицы в BDE


1-14977
vilfred
2002-12-24 02:17
2003.01.06
timage1 timage2 один на другим прозрачный, как это сделать?


1-15029
Valeris
2002-12-12 17:51
2003.01.06
Опции компилятора




   Наверх