Главная страница
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.041 c
8-1122305145
Valera
2005-07-25 19:25
2006.01.01
Как заставить заработать SampleGrabber из DSPack


1-1133495000
dust
2005-12-02 06:43
2006.01.01
как добавить вкладку в свойства папки


2-1134469891
Mozart
2005-12-13 13:31
2006.01.01
Socket ы


3-1131699626
Rodnoy
2005-11-11 12:00
2006.01.01
Добавление пользователя в FireBird


2-1134421386
Pupsiks
2005-12-13 00:03
2006.01.01
Сообщение