Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 763

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Подскажите пожалуйста,что делать если созданное приложение выполняется длительное время и подвисает(т.е.внешне окно становится белым и процесс идет долго),если фокус мыши переносится на любое другое окно. Если же фокус остается на самой форме выполняющегося приложения,то процесс идет намного быстрее и ничего внешне плохого не происходит (и даже ProgressBar двигается) :-))

MStar Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: MStar (статус: Посетитель)
Вопрос отправлен: 12 февраля 2010, 12:56
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 13 февраля 2010, 11:58; участников в обсуждении: 3.
vlsavkin

vlsavkin (статус: 2-ой класс), 12 февраля 2010, 13:33 [#1]:

Могу предположить, что в процессе действий(вычислений) программа перестает обрабатывать системные сообщения, в том числе, связанные и с отрисовкой окна.
Попробуйте вставить Application.ProcessMessages в ту часть кода, где производятся основные действия программы.
IlluminatI

IlluminatI (статус: 2-ой класс), 12 февраля 2010, 14:23 [#2]:

а еще лучше - вынесете основную часть кода в отдельный поток (Thread).
Alexey6522

Alexey6522 (статус: 1-ый класс), 13 февраля 2010, 11:58 [#3]:

еще можно попробовать добавить Form1.DoubleBuffered:=True; при создании формы в обработчик OnCreate

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:45
Выполнено за 0.02 сек.