Форум: "Основная";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
ВнизПроблема отрисовки 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c