Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.01;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.026 c
2-1134556725
Centory
2005-12-14 13:38
2006.01.01
Функции в DLL, которые берутся из другой DLL


8-1122266318
Sankez
2005-07-25 08:38
2006.01.01
Как можно проиграть avi на рабочем столе ?


4-1130518758
Ландграф мобил=)
2005-10-28 20:59
2006.01.01
Динамическое создание процедуры


14-1133863248
Qwertyqwert
2005-12-06 13:00
2006.01.01
PAS =>> CPP


4-1130686963
AllDontFire
2005-10-30 18:42
2006.01.01
есть SHBrowseForFolder с созданием папки?