![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Application.ProcessMessages [D5, Win2k]
Юра © (2002-12-25 11:09:00)Есть в теле программы такое:
while TRUE do
Application.ProcessMessages;
В качестве TRUE выступает некое условие. Я понимаю, что так делать ОЧЕНЬ неправильно :-) Нажатия на кнопки и порождаемые ими события с вызовом процедур и т.п. вызываются нормально, а вот форма не закрывается. Закрывается она сразу, как только программа выйдет из цикла (если в процессе выполнения цикла щелкнули по крестику). Вопрос вот в чем: чем закрытие формы отличается от всех прочих событий?
Clickmaker (2002-12-25 11:46:00) [1]Если в отдельном потоке, то Application.ProcessMessages не нужен и загрузки на 100 не будет
Юра (2002-12-25 11:40:00) [2]Тогда так: а разве использование подобных циклов вообще допустимо? Загрузка ЦП сразу прыгает на 100%.
Clickmaker (2002-12-25 11:33:00) [3]Application.ProcessMessages не обрабатывает WM_QUIT, которое посылается приложению при закрытии главной формы. Лучше этот цикл выполнять в отдельном потоке.
Lady D (2002-12-25 11:12:00) [4]Завести глобальную переменную и оценивать ее в цикле. При необходимости - break