Вниз
Скачать: CL | DM;

Проблема отрисовки ProgressBar в XP !   Найти похожие ветки 

← →
VID ©   (2005-12-02 12:29) [0]

Ситуация такова: Есть просто приложение - форма, кнопка на ней и ProgressBar.
При нажатии кнопки, выполняем какой нибудь цикл, внутри которого происходит инкрементирование переменной i: Integer, и следовательно постоянно меняем значение Position у ProgressBar"a.

Запускаем приложение, нажимаем кнопку, затем переключаемся на другое приложение, и снова возвращаемся к нашему приложени. И...
- Если приложение запущено в XP (sp2) из-под дельфи, то прогресбар продолжает нормально отрисовываться.
- Если приложение запущено в XP не из-под дельфи, а просто так, то ничего уже не прорисовывается, все выглядит зависшим, хотя процесс конечно же продолжает свою работу. - Если приложение запущено в Win98 или Win2000 (не важно из-под дельфи или нет), то прогресбар нормально отрисовывается.

Кто-нибудь знает, что делать и как мне бороться с этим глюком, связанным с XP ?

PS: Тестировалось на XP SP2, т.к. просто XP или  XP SP1 у меня не было.


← →
VID ©   (2005-12-02 14:07) [1]

Удалено модератором
Примечание: Создание пустых сообщений


← →
ДНО   (2005-12-02 14:12) [2]

Application.ProcessMessages;


← →
-=SPIDER=- ©   (2005-12-02 14:13) [3]

Пробовал в цикле и при появлении формы вызывать:
SendMessage(Form1.Handle, WM_PAINT, 0, 0);


← →
VID ©   (2005-12-02 14:38) [4]

С ProcessMessages заморачиваться не хочется.
В конце-концов это ошибка WinXP SP2 а не моя.
И хотелось бы применить какое-нить менее кардинальное решение.

SendMessage(Form1.Handle, WM_PAINT, 0, 0);
не помог. И вообще, когда после переключения к другому приложению, обратно возвращаешься к своему - у него ваще крышу сносит: Помимо того, что ничего не отрисовывается, это приложение можно еще и передвигать за заголовок. Причем (SendMessage(Form1.Handle, WM_PAINT, 0, 0)) тут не причем, так и без него бывает.


← →
ДНО   (2005-12-02 16:24) [5]

// Помимо того, что ничего не отрисовывается, это приложение можно еще и передвигать за заголовок.
заголовками и "тасканиями" ведает твоя windows, так что все в порядке вещей.

//С ProcessMessages заморачиваться не хочется.
это как соблаговолите понимать?

//В конце-концов это ошибка WinXP SP2 а не моя.
Вы так уверены? а очередь сообщений вы проверяите?


← →
alex_*** ©   (2005-12-02 18:02) [6]

какие ужасные винды.... не хотят отрисовывать ProgressBar!! Билли специально зашил в проверку на пргорамму писанную на Дельфи, чтоб переходили на VS


← →
alex_*** ©   (2005-12-02 18:04) [7]

хотелось бы применить какое-нить менее кардинальное решение.

Application.ProcessMessages() прямо жесть. Меняет ситуацию кардинально



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

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.974 c
6-1127280679
VadimX
2005-09-21 09:31
2006.01.01
Как проверить анонимность прокси


2-1134548177
oleggar
2005-12-14 11:16
2006.01.01
arj-unpack


2-1134402999
Volf_555
2005-12-12 18:56
2006.01.01
Проблема работы с TMainMenu


2-1134533880
Мария Тимошена
2005-12-14 07:18
2006.01.01
ListBox


14-1133786262
Bogdan1024
2005-12-05 15:37
2006.01.01
клавиатурный шпион для ВинХП




   Наверх