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

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

"Программа не отвечает", но она не виснет, вып незримые действия [D7]


Katy ©   (2004-12-30 17:30:00) 

Привет всем.
Поскажите, пож-та, как избежать следующей ситуации:

Нажимаешь на кнопку, в программе начинает выполнятся ряд функций (переодический коннект к серверу через idHTTP), это процесс может занимать долгое время (от 30 секунд до нескольких часов), программа работает, не виснет, но:
1. В StatusBar должны менятся сообщения, отображающие ход процесса, этого не происходит, форма не успевает перерисовываться, с ProgressBar - то же.
2. Если пощелкать по форме, то через некоторое время появится сообщение "Не отвечает"

Когда все операции выполнятся, программа снова будет доступна, сообщение "не отвечает" пропадает, но на этапе выполнения получается некрасивая вещь, очень хочется этого избежать.


Katy   (2005-01-03 22:10:00) [1]

Привет всем!
Спасибо, попробую, не работала никогда еще с TThread.


GanibalLector   (2005-01-03 18:00:00) [2]

>А ты помести те опирации которые приводят к зависанию в отдельный процесс (TThread).

Согласен,а для прогрессабара из потока посылай сообщение.Приложение приняв сообщение от потока,"сдвинет" прогрессбар.
И тебе хорошо...и им ;)


Andrewp   (2005-01-03 15:43:00) [3]

А ты помести те опирации которые приводят к зависанию в отдельный процесс (TThread).


Anatoly Podgoretsky   (2004-12-30 17:57:00) [4]

А сообщения ты обрабатываешь?
Application.ProcessMessages


Наверх

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