Глюки rxDBGrid

Модераторы: alexs, Модераторы

Re: Глюки rxDBGrid

Сообщение YaroslavSh » 30.03.2021 00:07:16

Всем добрый день.
Возникла проблема при использовании Footer с базой на Firebird 2.5 в RxDBGrid при включенном fvtSum. Подключение через IBConnection. При отображении двух и более строк все нормально суммируется, но когда остается одна строка сразу вылетает ошибка. С базой на SQLlite3 суммировалось нормально.
YaroslavSh
новенький
 
Сообщения: 26
Зарегистрирован: 21.07.2010 08:09:41

Re: Глюки rxDBGrid

Сообщение alexs » 30.03.2021 10:55:00

Пример можно?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение YaroslavSh » 30.03.2021 23:25:15

alexs писал(а):Пример можно?
Вложения
Primer.zip
(194.55 КБ) Скачиваний: 835
YaroslavSh
новенький
 
Сообщения: 26
Зарегистрирован: 21.07.2010 08:09:41

Re: Глюки rxDBGrid

Сообщение alexs » 31.03.2021 12:20:50

Не могу повторить
Проверял на 2.5 в винде, на 3.0 в линухе - всё норм.

Lazarus 2.1.0 r64894M FPC 3.3.1 i386-win32-win32/win64

Lazarus 2.1.0 r64894M FPC 3.3.1 x86_64-linux-gtk2
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение YaroslavSh » 31.03.2021 22:32:57

Странно.
Пользовался Lazarus 2.0.10 63526 FPC 3.2.0 - ошибка.
Поставил Lazarus 2.0.12 64642 FPC 3.2.0 - ошибка.
Затем поставил lazarus-2.1.0-62815-fpc-3.2.0rc1-44237-win32 та же ошибка.
Проверял на win10x64, win7x64.
Firebird-2.5.9.27139_0_Win32
Сборки, как у Вас не нашел.
YaroslavSh
новенький
 
Сообщения: 26
Зарегистрирован: 21.07.2010 08:09:41

Re: Глюки rxDBGrid

Сообщение alexs » 01.04.2021 09:36:17

У меня текущее - из текущих исходников.
Но тут не должно это влиять.
Какая версия Rx? Текущая из SVN?
В каком именно месте вываливается ошибка - что показывает отладчик?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение YaroslavSh » 01.04.2021 21:11:18

Я rx ставил из сетевого диспетчера пакетов, думал, что он имеет всегда самую свежую версию компонента. Удалил сетевой, поставил lazarus-ccr-svn-r7986. И ошибка пропала. Спасибо большое Алексей.
YaroslavSh
новенький
 
Сообщения: 26
Зарегистрирован: 21.07.2010 08:09:41

Re: Глюки rxDBGrid

Сообщение alexs » 02.04.2021 14:35:29

YaroslavSh писал(а):из сетевого диспетчера пакетов, думал, что он имеет всегда самую свежую версию компонента

Это не так - я там не управляю...
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение zoltanleo » 04.02.2022 12:46:58

Леш, привет.

Если в гриде выставить опцию dgDisplayMemoryText в True, то у многострочного текста строки "склеиваются" без пробелов(разделителей) между ними (на скринах для сравнения верхний - в гриде, нижний - в оригинале).

Можно что-то подправить? Может свойство запилить, определяющее разделитель?
Вложения
Scr_238.png
Scr_238.png (995 байт) Просмотров: 23586
Scr_239.png
Scr_239.png (1.89 КБ) Просмотров: 23586
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: Глюки rxDBGrid

Сообщение alexs » 06.02.2022 20:17:03

Надо посмотреть конечно.
На мой взгляд - для отображения - любой не печатный символ просто заменять пробелом.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение zoltanleo » 06.02.2022 20:40:52

alexs писал(а):Надо посмотреть конечно.
На мой взгляд - для отображения - любой не печатный символ просто заменять пробелом.

Приложение кроссплатформенное, перевод строки в линуксе будет #13, на маке #10, на винде оба. Хлопотно будет делать это вручную в каждом гриде в OnGetText ;)

Наверное, лучше все таки в сорцах поковыряться
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: Глюки rxDBGrid

Сообщение alexs » 07.02.2022 00:29:20

Посмотри ревизию 8195.
В rx.inc добавил дерективу RDBGridDisplayMemoText_ClearSC. По умолчанию выключена.
При включении перед отображаением строки выполняется дополнительный проход
Код: Выделить всё
function TRxDBGrid.GetFieldDisplayText(AField: TField; ACollumn: TRxColumn
....
        {$IFDEF RDBGridDisplayMemoText_ClearSC}
        for i:=1 to Length(Result) do
          if Result[i] < ' ' then
            Result[i]:=' ';
        {$ENDIF}


Добавлено спустя 1 минуту 51 секунду:
Это что быстро смог придумать. Работает только на отображении.
По хорошему надо для RxDBGrid переопределять редктор MEMO полей - там сейчас штатный, на основе TEdit-а. А нужно что-то на основе TMemo.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение zoltanleo » 07.02.2022 00:39:44

Спасибо, гляну завтра
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: Глюки rxDBGrid

Сообщение zoltanleo » 08.02.2022 01:09:13

alexs писал(а):Посмотри ревизию 8195.

Леш, спасибо. Все здорово. При растяжении столбца пробелы вместо переносов, в хинте memo-форматирование сохраняется.

зы. только что обнаружил, что косяк-то я нашел в стандартном гриде, а не в твоем. Теперь, у тебя он пофикшен, а в стандартном - нет о_О
Вложения
Scr_243.png
Scr_243.png (3.63 КБ) Просмотров: 23491
Scr_242.png
Scr_242.png (3.6 КБ) Просмотров: 23491
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 459
Зарегистрирован: 17.10.2013 10:55:01

Re: Глюки rxDBGrid

Сообщение Lucifer » 31.03.2025 11:46:24

Коллеги, день добрый! Имеем очень странный глюк, который давно уже не могу побороть. А именно, в какой-то момент времени, весьма произвольный, грид перестает визуально быть синхронным с датасетом. Показывает не то, где реально спозиционирован курсор датасета. При просто движении мыши по гриду - перерисовывается тем, что реально должно быть показано. Repaint не помогает. Refresh тоже. Грешу, конечно, на множественные условия раскраски гирда, но отказаться от нее не могу, ибо инструмент чисто наш внутренний для сравнения и обновления баз данных, коих у нас под две сотни. И визуально видеть, как они сравнились/обновились нужно.

P.S. WinSrv 2012R2 x64, Lazarus 3.6, FPC 3.2.2, хотя проблема и не в нем. На предыдущих было точно так же.
P.P.S. В линуксе (Debian12) работает нормально. Lazarus 4.0 RC3.

UPD: Еще обратил внимание, что при движении курсора мыши пропадают заголовки столбцов. А там объединение. Убрал его - и все нормализовалось. Вот такая история. Странно, что под линуксом такое не наблюдается. Все же, видимо, это глюки смой винды.

UPD2: Рано радовался. :-( Глюк не исчез.
Lucifer
постоялец
 
Сообщения: 126
Зарегистрирован: 05.01.2014 21:39:03
Откуда: Новороссийск

Пред.

Вернуться в RxLib

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru