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

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

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


Наверх

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