Главная страница
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.035 c
14-1133945657
Kolan
2005-12-07 11:54
2006.01.01
Экстримальное программирование. Пользуетесь?


14-1134315152
Kerk
2005-12-11 18:32
2006.01.01
Какими не надо делать пользовательские интерфейсы.


1-1133612665
SergP.
2005-12-03 15:24
2006.01.01
Позиция Popupmenu. Как привязать к нижнему левому углу.


1-1133615352
Vlad1m1r
2005-12-03 16:09
2006.01.01
TEdit, как защитить от нажатия ctrl+v или shift+insert


1-1132811400
Pank83
2005-11-24 08:50
2006.01.01
taskbar