-
На форме DBGrid. Запрос к БД SQLLite. Есть 53 пользователя программы. Компьютеры в ЛВС не объединены. На 50 компьютерах программа работает нормально. На 3 компьютерах DBGrid прозрачный (как бы "дырка", через которую виден Рабочий стол). При изменении размера формы (потянуть за границу) DBGrid прорисовывается. Пробовала DBGrid делать Refresh, Repaint; FormResize. Не помогает. Проблема еще в том, что нет доступа к тем проблемным компьютерам и не могу воспроизвести проблему. Видела лично по TeamViewer один раз.
Дайте, пожалуйста, совет по данной проблеме.
-
ну я бы вначале собрал данные об этих трех компах.
-
При изменении размера формы (потянуть за границу) DBGrid прорисовывается.
для начала повесить на афтеропен постмессадж форме грида в обработчике которого дернуть размеры формы на один пиксел.
затем переустановить винду на тех трех местах
-
> ну я бы вначале собрал данные об этих трех компах. я бы сначала сделал тестовую программу - пустой проект, с гридом, без любых действий с базой и т.д., и кнопкой в которой таблица грида открывается. чисто посмотреть и убедится, что проблема в каком то коде оригинальной программы, а не в системе/компах.
тут похоже на то, что таблица открыта в десигне, т.е. открывается генерированным кодом дельфи, и где-то перебивает/рушит событие паинта.
> Пробовала DBGrid делать Refresh, Repaint; FormResize. Не помогает. где? место вызова влияет на результат.
-
> kilkennycat © (26.09.17 18:25) [1]
WindowXP и видеокарты одинаковые на проблемных компах.
> rrrrrr © (26.09.17 19:37) [2]
Вызов FormResize делала, не привело к результату.
> sniknik © (27.09.17 10:17) [3]
Место вызова было в FormShow и/или FormCreate. Согласна, что место вызова имеет значение.
Сегодня нежданно-негаданно появилась возможность поэкспериментировать на одном из трех компов.
Моя попытка № 9 (шутка) увенчалась успехом. Были эксперименты с Align, Form.Update и т.п.
Помогло это: на FormShow сделала DBGrid1.SetFocus.
Спасибо большое за ответы. Проблема решилась!
-
Вызов FormResize делала, не привело к результату.
тебе никто не предлагает повторять то, что у тебя было сделано. но если ты не врешь При изменении размера формы (потянуть за границу) DBGrid прорисовывается.
то повесить на афтеропен постмессадж форме грида в обработчике которого дернуть размеры формы на один пиксел.
-
> rrrrrrr © (27.09.17 11:58) [5]
Наверное, Ваш совет тоже помог бы.
Но сегодня получилось поэкспериментировать на проблемном компе, и решение нашлось совсем простое.
|