Обрезание строк в Lazreport
Модератор: Модераторы
-
Sleepwalker
- незнакомец
- Сообщения: 6
- Зарегистрирован: 29.06.2009 08:44:59
- Откуда: г.Владимир
Обрезание строк в Lazreport
Доброго времени суток.
Проблема такова: в Лазрепорте отрезается последняя строка в поле, когда оно "растягивается" автоматически. Поле находится на бэнде Master Data, который тоже "растягивается" автоматом.
Подскажите, пожалуйста, это баг или я где-то неправ?
-----------------------
M$WinXPsp2
Lazarus 0.9.24
FPC 2.2.0
LazReport 0.9.5 (взят из папки components)
Проблема такова: в Лазрепорте отрезается последняя строка в поле, когда оно "растягивается" автоматически. Поле находится на бэнде Master Data, который тоже "растягивается" автоматом.
Подскажите, пожалуйста, это баг или я где-то неправ?
-----------------------
M$WinXPsp2
Lazarus 0.9.24
FPC 2.2.0
LazReport 0.9.5 (взят из папки components)
-
Sleepwalker
- незнакомец
- Сообщения: 6
- Зарегистрирован: 29.06.2009 08:44:59
- Откуда: г.Владимир
Вопрос все еще более чем актуален.
Пробовал перетащить проект на Lazarus 0.9.26.2
Там LazReport отрисовывает все нормально, но возникли глюки с RxMemoryData и с компонентами ZEOS 6.6.5 (видимо, они под UTF8 не адаптированы).
Отсюда вопрос:
куда смотреть, чтобы в LazReport глюк поправить?
Либо:
где можно взять самый свежий Rx?
Буду очень признателен за любую помощь.
-----------------------
M$WinXPsp2
Lazarus 0.9.24
FPC 2.2.0
Пробовал перетащить проект на Lazarus 0.9.26.2
Там LazReport отрисовывает все нормально, но возникли глюки с RxMemoryData и с компонентами ZEOS 6.6.5 (видимо, они под UTF8 не адаптированы).
Отсюда вопрос:
куда смотреть, чтобы в LazReport глюк поправить?
Либо:
где можно взять самый свежий Rx?
Буду очень признателен за любую помощь.
-----------------------
M$WinXPsp2
Lazarus 0.9.24
FPC 2.2.0
Sleepwalker
Для ZEOSа адаптация к UTF8 ни к чему, он с этой кодировкой и так работал, если только Вы не изобрели нечто новое, например называть таблицы в БД русскими матерными словами.
Rx надо взять на сайте sourceforge в разделе lazarus-ccr. Ссылку я выкладывал уже наверное с десяток раз - никто поиском воспользоваться не хочет, хоть ты тресни...
Для ZEOSа адаптация к UTF8 ни к чему, он с этой кодировкой и так работал, если только Вы не изобрели нечто новое, например называть таблицы в БД русскими матерными словами.
Rx надо взять на сайте sourceforge в разделе lazarus-ccr. Ссылку я выкладывал уже наверное с десяток раз - никто поиском воспользоваться не хочет, хоть ты тресни...
-
Sleepwalker
- незнакомец
- Сообщения: 6
- Зарегистрирован: 29.06.2009 08:44:59
- Откуда: г.Владимир
Vadim, спасибо, что отозвались.
Rx взял отсюдаhttp://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/rx.tar.gz?view=tar. Только что скачал еще раз, проблемы остались. Если это самая свежая версия, то жаль...
Просто в модуле db.pas (который и в ZEOS используется) не реализованы некоторые методы (например, AppendRecord), а в RxMemoryData они есть. Но в 26-х Лазарусах из RxMemoryData получаю бурду какую-то вместо числовых данных, а строки и вовсе пустые возвращаются.
В пакете ZEOS тоже глюки были, причем именно с Lazarus 0.9.26.х
Поковырявшись в модуле ZDbcOracleUtils.pas, на угад (почти
) нашел выделение памяти под строки, увеличил в 2 раза. Без этого получал ошибку драйвера БД (Oracle10gXE) о том, что выбранная строка усечена. Это касается строк, которые длиннее половины максимально допустимой длины строки в таблице БД (тип varchar2), где длина задана в символах. Причем, теперь эти строки показываются, но чуть больше, чем на половину (например, поле в БД 150 символов, строка 140, а на экране около 80-ти).
Вот такие траблы. Тот же проект в 24-м лазарусе работает "на ура", проблема только в отчетах. Потому вопрос изначально и поставил про LazReport из Lazarus 0.9.24
Rx взял отсюдаhttp://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/rx.tar.gz?view=tar. Только что скачал еще раз, проблемы остались. Если это самая свежая версия, то жаль...
Просто в модуле db.pas (который и в ZEOS используется) не реализованы некоторые методы (например, AppendRecord), а в RxMemoryData они есть. Но в 26-х Лазарусах из RxMemoryData получаю бурду какую-то вместо числовых данных, а строки и вовсе пустые возвращаются.
В пакете ZEOS тоже глюки были, причем именно с Lazarus 0.9.26.х
Поковырявшись в модуле ZDbcOracleUtils.pas, на угад (почти
Вот такие траблы. Тот же проект в 24-м лазарусе работает "на ура", проблема только в отчетах. Потому вопрос изначально и поставил про LazReport из Lazarus 0.9.24
ДБ-приложения, собранные в нынешних версиях лазаруса не могут работать нормально, потому что лазарус LCL стал юникодным (UTF8), а базовые классы, описанные в FCL остались "однобайтовыми". По крайней мере, мне не удалось организовать нормальный ввод-вывод в БД ни с SQLdb, ни с ZEOS. Строки обрезаются либо при чтении, либо при отображении, либо при сохранении в БД. Может проблема в классе TDataLink?
Если кто победил эту проблему, может поделитесь?
Если кто победил эту проблему, может поделитесь?
Sleepwalker
Да, это и есть самая свежая Rx. Если там в таблице посмотреть на даты, то видно, что Alexs 2 дня назад что-то правил.
В общем у меня работа с данными построена по такому принципу:
- все строковые данные хранятся либо в win1251, либо в koi8-r (наследие прошлого
)
- FireBird и MySQL без проблем перекодируют их там у себя в UTF-8 и эти данные у меня уже получает ZEOS.
Проблем никаких не было ни с пакетной обработкой данных, ни при отображении их в DbGrid'ах и прочих визуальных компонентах.
Единственная база, которая у меня хранит строки в UTF-8 - это SQLite, она локальная. Данные тоже беру через ZEOS, и тоже никаких обрезаний никогда не наблюдал. Правда все отчёты я стряпаю через генератор HTML, с LazReport'oм никогда не работал. А браузеры все отчёты отображают в безупречном виде, именно в таком, каком я их и проектировал.
Добавлено спустя 5 минут 57 секунд:
У меня Lazarus 0.9.27. С 0.9.26 я практически не работал, она мне чем-то не понравилась и я её сразу снёс.
Да, это и есть самая свежая Rx. Если там в таблице посмотреть на даты, то видно, что Alexs 2 дня назад что-то правил.
В общем у меня работа с данными построена по такому принципу:
- все строковые данные хранятся либо в win1251, либо в koi8-r (наследие прошлого
- FireBird и MySQL без проблем перекодируют их там у себя в UTF-8 и эти данные у меня уже получает ZEOS.
Проблем никаких не было ни с пакетной обработкой данных, ни при отображении их в DbGrid'ах и прочих визуальных компонентах.
Единственная база, которая у меня хранит строки в UTF-8 - это SQLite, она локальная. Данные тоже беру через ZEOS, и тоже никаких обрезаний никогда не наблюдал. Правда все отчёты я стряпаю через генератор HTML, с LazReport'oм никогда не работал. А браузеры все отчёты отображают в безупречном виде, именно в таком, каком я их и проектировал.
Добавлено спустя 5 минут 57 секунд:
У меня Lazarus 0.9.27. С 0.9.26 я практически не работал, она мне чем-то не понравилась и я её сразу снёс.
-
Sleepwalker
- незнакомец
- Сообщения: 6
- Зарегистрирован: 29.06.2009 08:44:59
- Откуда: г.Владимир
Спасибо всем, кто ответил.
Видимо, Alexs до RxMemoryData еще не добрался. Потому глючит в 26-й версии.
А мне, к сожалению, квалификация пока не позволяет внести свой вклад в исправление и доработку Лазаруса
Буду дальше "тыкаться"... Сомневаюсь, что 27-м Лазаре DB.pas готов...
Вобщем, еще раз спасибо.
Если кто-нибудь что-то еще сможет посоветовать, буду очень благодарен.
Видимо, Alexs до RxMemoryData еще не добрался. Потому глючит в 26-й версии.
А мне, к сожалению, квалификация пока не позволяет внести свой вклад в исправление и доработку Лазаруса
Буду дальше "тыкаться"... Сомневаюсь, что 27-м Лазаре DB.pas готов...
Вобщем, еще раз спасибо.
Если кто-нибудь что-то еще сможет посоветовать, буду очень благодарен.
Sleepwalker
db.pas - это часть fpc, а не Lazarus'а...
db.pas - это часть fpc, а не Lazarus'а...
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Sleepwalker
Внятный пример давай - чтобы я мог повторить. Желательно с использованием DBF, либо FB. MySQL и постгрес не юзаю - такой пример не устроит.
Я ничего не правлю, потому что там всё для меня работает.
Внятный пример давай - чтобы я мог повторить. Желательно с использованием DBF, либо FB. MySQL и постгрес не юзаю - такой пример не устроит.
Я ничего не правлю, потому что там всё для меня работает.
-
Sleepwalker
- незнакомец
- Сообщения: 6
- Зарегистрирован: 29.06.2009 08:44:59
- Откуда: г.Владимир
alexs
спасибо, проблему решил установкой Лазарус 0.9.27 + ФПЦ 2.2.4 - там RxMemoryData замечательно работает.
Могу привести инструкцию, как в Лазарус 0.9.26.2 получить вышеозначенную проблему. Если, конечно, нужно.
Еще раз всем огромное спасибо!
спасибо, проблему решил установкой Лазарус 0.9.27 + ФПЦ 2.2.4 - там RxMemoryData замечательно работает.
Могу привести инструкцию, как в Лазарус 0.9.26.2 получить вышеозначенную проблему. Если, конечно, нужно.
Еще раз всем огромное спасибо!
Sleepwalker писал(а):alexs
спасибо, проблему решил установкой Лазарус 0.9.27 + ФПЦ 2.2.4 - там RxMemoryData замечательно работает.
Могу привести инструкцию, как в Лазарус 0.9.26.2 получить вышеозначенную проблему. Если, конечно, нужно.
Еще раз всем огромное спасибо!
проект активно развивается поэтому ставь все самое свежее а то ты расказываешь всем про старые грабли, у меня зеос прекрасно работает и с RX я проблем не знаю ну таких чтобы жить с ними невозможно было)),а еще лудше освой работу с SVN, тогда будешь говорить всегда об актуальных багах...
