Просьба плотно потестировать Lazarus
Модератор: Модераторы
wavebvg
Проблема в том, что FPC RTL на разных платформах работает с родными кодировками, обычно это UTF-8 под Linux и cp1251 под Windows. Поэтому при вызове функций из RTL нужно преобразовывать внутреннюю кодировку LCL (UTF-8) к кодировке RTL на данной платформе, с помощью UTF8ToSys/SysToUTF8 (из модуля FileUtil). Под Linux эти кодировки совпадают, поэтому все работает.
Еще можно использовать файловые функции из FileUtil, работающие с UTF-8, например FindFirstUTF8, GetCurrentDirUTF8 и т.п.
Проблема может быть по-настоящему решена только после поддержки Unicode-строк в самом FPC, релиз Lazarus не сможет ее исправить. А пока остается помнить о различиях кодировок и UTF8ToSys/SysToUTF8.
Проблема в том, что FPC RTL на разных платформах работает с родными кодировками, обычно это UTF-8 под Linux и cp1251 под Windows. Поэтому при вызове функций из RTL нужно преобразовывать внутреннюю кодировку LCL (UTF-8) к кодировке RTL на данной платформе, с помощью UTF8ToSys/SysToUTF8 (из модуля FileUtil). Под Linux эти кодировки совпадают, поэтому все работает.
Еще можно использовать файловые функции из FileUtil, работающие с UTF-8, например FindFirstUTF8, GetCurrentDirUTF8 и т.п.
Проблема может быть по-настоящему решена только после поддержки Unicode-строк в самом FPC, релиз Lazarus не сможет ее исправить. А пока остается помнить о различиях кодировок и UTF8ToSys/SysToUTF8.
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Опять сломали пересборку лазаря из IDE. Теперь при пересборке Лазарь пытается сам себя переписать.
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
wavebvg писал(а):получится плохое объяснение
ага =)
лучше б приложил исходник программы где есть одна кнопка "сохранить" которая сохроняет через tinifile данные на которых у тебя падает программа.
Attid писал(а):wavebvg писал(а):получится плохое объяснение
ага =)
лучше б приложил исходник программы где есть одна кнопка "сохранить" которая сохроняет через tinifile данные на которых у тебя падает программа.
Что-то мне не охото выкладывать свои исходники, по крайней мере этой проги )))
В общем, через неделю, может две напишу, в чём были проблемы подробно, пока с этим не возился...
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
Поздно будет
Lazarus выйдет на этой неделе.
Павел, просьба пофиксить баги #0011923 и #0012057. Тема старая и патчики кое-какие есть.
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
yuray писал(а):Павел, просьба пофиксить баги #0011923 и #0012057. Тема старая и патчики кое-какие есть.
После выхода 0.9.26 пофиксим. Резких движений перед выходом делать не надо.
Ок. Будем ждать...
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Кажется глюк
имеем
v0.9.25 r15918:16603M i386-linux-gtk 2 (beta)
главная форма и дата модуль
в дата модуле находится ImageList с изображениями
на главной форме находится ActionList (подключен к ImageList из датамодуля) - в нём набор Action с указанием индесов изображений.
Добавляю в ImageList новое изображение, закрываю редактор ImageList - в ActionList перестают отрисовываться изображения.
точно также ведёт себя TToolBar из Rx.
имеем
v0.9.25 r15918:16603M i386-linux-gtk 2 (beta)
главная форма и дата модуль
в дата модуле находится ImageList с изображениями
на главной форме находится ActionList (подключен к ImageList из датамодуля) - в нём набор Action с указанием индесов изображений.
Добавляю в ImageList новое изображение, закрываю редактор ImageList - в ActionList перестают отрисовываться изображения.
точно также ведёт себя TToolBar из Rx.
- Attid
- долгожитель
- Сообщения: 2588
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
wavebvg писал(а):Что-то мне не охото выкладывать свои исходники, по крайней мере этой проги )))
я про твою прогу ничего не говорил, а про тестовый пример, чтобы в нем как можно меньше всего было.
Так, с кирилицей разобрались - нет кирилицы вроде норм работает )))
Теперь с окошком при завершении: появляется такая картинка и ведёт себя как описано выше (см вложения)
Причём появляется независимо от того, какие компоненты создаются... Я, конечно, думаю, что виноваты таймеры, но они у меня даже не созданы после запуска, а ошибка остаётся...
Очень странно работают системные сообщения (они сильно запаздывают относительно процесса расчётов)
Компонент TFILENAMEEDIT не открывает дочернее окно, если указанный там путь неверный
Теперь с окошком при завершении: появляется такая картинка и ведёт себя как описано выше (см вложения)
Причём появляется независимо от того, какие компоненты создаются... Я, конечно, думаю, что виноваты таймеры, но они у меня даже не созданы после запуска, а ошибка остаётся...
Очень странно работают системные сообщения (они сильно запаздывают относительно процесса расчётов)
Компонент TFILENAMEEDIT не открывает дочернее окно, если указанный там путь неверный
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Checked out revision 16656. Под Linux QT очень порадовал, БОЛЬШОЕ СПАСИБО.
Есть одна неувязка с ComboBox. Тестировал под Linux.
Если WidgetSets = QT:
Style = csOwnerDrawVariable, или csOwnerDrawFixed
и определен обработчик
OnDrawItem = ComboBox1DrawItem
то на выпадаюшем списке будет пусто, это вроде логично, так помойму, было и в Delphi, ведь прорисовка покладается на обработчик.
Но!
Если WidgetSets = GTK или GTK2, то список отображается.
Это нельзя назвать ошибкой, но неувязка очень неприятная. Что планируется в дальнейшем применять?
------
TEdit:
В QT под Linux
Если Autosize = True, то высота Эдита выставляется правильно, высота шрифта + верхний отступ + нижний отступ.
Если Autosize = False, то высота Эдита в плотную подогнана к высоте шрифта.
Нельзя ли подправить высоту компонента по умолчанию.
Есть одна неувязка с ComboBox. Тестировал под Linux.
Если WidgetSets = QT:
Style = csOwnerDrawVariable, или csOwnerDrawFixed
и определен обработчик
OnDrawItem = ComboBox1DrawItem
то на выпадаюшем списке будет пусто, это вроде логично, так помойму, было и в Delphi, ведь прорисовка покладается на обработчик.
Но!
Если WidgetSets = GTK или GTK2, то список отображается.
Это нельзя назвать ошибкой, но неувязка очень неприятная. Что планируется в дальнейшем применять?
------
TEdit:
В QT под Linux
Если Autosize = True, то высота Эдита выставляется правильно, высота шрифта + верхний отступ + нижний отступ.
Если Autosize = False, то высота Эдита в плотную подогнана к высоте шрифта.
Нельзя ли подправить высоту компонента по умолчанию.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Судя по RoadMap, до версии 1.0 осталось увидеть 0.9.26 и 0.9.28, потом 1.0. Я правильно догадываюсь?
Работаю через sqldb с базой firebird, кодировка базы 1251. Строковые столбцы DBGrid'а, там где должны быть русские буквы, пустые. Латинские отображаются нормально. Подбор DBGrid.Font.CharSet не даёт никакого эффекта. В консольном приложении вывод из базы даёт нормальный текст.
Это появилось в августовских снапшотах Лазаруса. В весенних всё бвло нормально.
WIN1251 мы потеряли?
Это появилось в августовских снапшотах Лазаруса. В весенних всё бвло нормально.
WIN1251 мы потеряли?
