Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

"Программа не отвечает", но она не виснет, вып незримые действия   Найти похожие ветки 

 
Katy   (2004-12-30 17:30) [0]

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

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

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


 
Anatoly Podgoretsky ©   (2004-12-30 17:57) [1]

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


 
Andrewp ©   (2005-01-03 15:43) [2]

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


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

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

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


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

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



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

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-1107091565
GrayZeeCat
2005-01-30 16:26
2005.02.20
Как научить консоль говорить по русски в XP?


14-1107178240
ArchValentin
2005-01-31 16:30
2005.02.20
Кто чё-нить знает про зверя VBScript просю...


6-1101495209
leonidus
2004-11-26 21:53
2005.02.20
Отличия HTTP-протокола 1.0 от 1.1


4-1105102145
Lucifer
2005-01-07 15:49
2005.02.20
Горячие клавиши


14-1107034236
каспер
2005-01-30 00:30
2005.02.20
пункт меню "создать"