на winXP прогресс «замерзает»
От: gok Россия  
Дата: 31.01.06 21:19
Оценка:
Почему то в длинном процессе на winXP прогресс не прогрессирует, просто «замерзает» на каком то положении. Процессор процессит (видно в Task Manager).
Как бороться?
gok
Re: на winXP прогресс «замерзает»
От: SATo Россия  
Дата: 01.02.06 10:26
Оценка:
Здравствуйте, gok, Вы писали:

gok>Почему то в длинном процессе на winXP прогресс не прогрессирует, просто «замерзает» на каком то положении. Процессор процессит (видно в Task Manager).

gok>Как бороться?

Не совсем понятно, где и как выполняется "длинный процесс", и где и как изменяется содержимое прогресса?
Re[2]: на winXP прогресс «замерзает»
От: gok Россия  
Дата: 01.02.06 19:52
Оценка:
Здравствуйте, SATo, Вы писали:

На одной машине хр, на другой 2000. Одна и та же программка, подключена к windows Explorer, читает/записывает файлы. Градусник движется по мере чтения файла. В 2000 градусник нормально непрерывно движется вправо, на ХР застревает и експлорер не перерисовывается, хотя процесс нормально завершается.
gok
Re: на winXP прогресс «замерзает»
От: homm86 Россия  
Дата: 02.02.06 11:18
Оценка: +1
Здравствуйте, gok, Вы писали:

gok>Почему то в длинном процессе на winXP прогресс не прогрессирует, просто «замерзает» на каком то положении. Процессор процессит (видно в Task Manager).

gok>Как бороться?

XP считает процесс, не обрабатывающий сообщения в течении определенного времени (секунд пять) завмсшим, и все его окна заменяет фальшивкой — скриншотом этого окна. Чтобы этого избежать нужно обрабатывать сообщения во время длинной операции.

>прогресс не прогрессирует

улыбнуло
Re[2]: на winXP прогресс «замерзает»
От: gok Россия  
Дата: 02.02.06 19:53
Оценка:
Здравствуйте, homm86, Вы писали:

Это действительно так и есть!
А какие конкретно сообщения? У меня из dll подстегнутой к win Explorer создается mfc диалог (градусник как раз там) и крутится в цикле, пока задачка не закончится. Те такая постановка пьесы не проходит для Хрюши? Как бороться?
gok
Re[3]: на winXP прогресс «замерзает»
От: homm86 Россия  
Дата: 02.02.06 21:52
Оценка: 2 (1)
Здравствуйте, gok, Вы писали:

gok>А какие конкретно сообщения? У меня из dll подстегнутой к win Explorer создается mfc диалог (градусник как раз там) и крутится в цикле, пока задачка не закончится. Те такая постановка пьесы не проходит для Хрюши? Как бороться?


Вот в цикле и сделай обработку сообщений. mfc не знаю а в Delphi это делается Allpication.ProcessMessages
Re[4]: на winXP прогресс «замерзает»
От: gok Россия  
Дата: 02.02.06 23:23
Оценка:
Здравствуйте, homm86, Вы писали:

В диалоге, который зовется из dll стоит PeekMessage(), PumpMessage(). Похоже этого мало. Попробую поставить помпу в цикл внутри dll.
gok
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.