Unicode Troubles
Добрый день.
1. В последних версиях перестал работать юникод в компонентах TfrxMemoView, когда это Мемо находится на Кросс Таб объекте.
2. Также юникод не работает если в TfrxMemoView описываешь выражение IF результаты которого содержат строку из символов разных языков..
Прошу прокоментировать, будет ли функциональность возвращена, или возвращаться на старые версии..
спс за внимание.
1. В последних версиях перестал работать юникод в компонентах TfrxMemoView, когда это Мемо находится на Кросс Таб объекте.
2. Также юникод не работает если в TfrxMemoView описываешь выражение IF результаты которого содержат строку из символов разных языков..
Прошу прокоментировать, будет ли функциональность возвращена, или возвращаться на старые версии..
спс за внимание.
Комментарии
это понятно, он работает во всех случаях кроме ::::
1. когда TfrxMemoView находится на Кросс Таб объекте (TfrxDBCrossView).
2. Также юникод не работает если в TfrxMemoView описываешь выражение IFF результаты которого содержат строку из символов разных языков..
пример
[iff(1=1, 'Pārskats и Промотр', 'фыва āā')]
2. Этот вариант не мог работать в предыдущих версиях, т.к. выражения используют тип String.
1. Не работает в версии 4.5.50, если кодировка не совпадает с DEFAULT_CHARSET.
2. Не работает в версии 4.5.50 в ситуации iif(1=1,'Просмотр','Не просмотр'),если кодировка не совпадает с DEFAULT_CHARSET.
Charset отличная от DEFAULT_CHARSET предпологает использования кодировок(той, которая выбрана) , а не юникода.
Для примера RUSSIAN_CHARSET = 1251, юникод в этом случае и не должен отображатся.
2. Аналогично, поставил RUSSIAN_CHARSET , ввел [iif(1=1,'Просмотр','Не просмотр')] все отображается корректно.
RUSSIAN_CHARSET и DEFAULT_CHARSET, если мы вводим кирилицу, но символы других кодировок,например BALTIC_CHARSET = 1257,
отображаются неверно.Аналогично и с кирилицей,если закладке Advanced стоит не Russian.В предыдущих версиях 4.4 и ниже все работало при
указании нужного CHARSET.
1. При открытии "Редактора текста" для обычного MemoView при Font.Charset=DEFAULT_CHARSET в редакторе текста ВООБЩЕ не видна Memo для редактирования. При нажатии кнопки OK текст очищается...
2. Как изменить умолчание Font.Charset=DEFAULT_CHARSET для новых создаваемых компонент?
3. Где посмотреть Build? В "О FastReport" у меня просто "4.5" стоит
И несколько не связанная с Unicode проблема:
4. Начинает дублироваться кнопка "Рисование" (Draw) на ObjectsToolBar'е. Похоже недоработки в Initialization-Finalization секциях при регистрации/отмене_регистрации компонент.
Если да, то такой вариант не мог работать в предыдущих версиях, т.к. если Charset отлична от DEFAULT_CHARSET, создается стандартный контрол TMemo, текст в него вводится нормально но вот WM_GETTEXT будет возвращать текст который зависит от выбранной локали на вкладке Advanced и так ведут себя абсолютно все стандартные делфийские контролы, т.е. изначальный текст теряется еще при обработке сообщения WM_GETTEXT самим контролом и FR тут не причем.
Поля из базы должны отображаться нормально, не зависимо от выбранной локали , т.к. FR конвертирует их самостоятельно с учетом CHARSET у мемки.
1. Какая ОС , случайно не win 9x ?
2. Никак.
3. Номер билда указан в имени инсталла.
4. У меня все нормально, как воспроизвести проблему ?
Вопрос с работой выражений также остается.
По поводу выражений поправлено только частично, т.е. можно использовать только при установлено локале и только один язык (который выбран).
Как я уже писал выражения никогда не поддерживали юникод.
Для его поддержки в выражениях нужно переписывать ExpressionCache и писать новый класс TWideStringList(вместо TStringList).
Опережая ваш вопрос, да это планируется сделать в ближайших версиях
Невозможно концептуально, архитектурно, идейно, технологически или просто СЕЙЧАС нельзя?
Попробую прислать в ближайшее время пример
Смысл в том, что в процессе работы неоднократно загружаются и выгружаются библиотеки, в которых используется библиотека xxxReportsxxx, а в xxxReportsxxx в requires стоят fsxxx, frxxxx...