Отображение текста в Юникоде в Rave Reports на Delphi 2009

Я нахожусь в процессе портирования приложения Delphi 2006 на Delphi 2009. Встроенная поддержка юникода была простой - почти не требовалось никакой работы. На большинстве сторонних элементов управления уже доступны обновления Delphi 2009.

Rave Reports (последняя версия 7.6.1, доступна здесь) также был обновлен, но я не могу заставить его правильно отображать RTF-текст, содержащий японские символы. В Delphi 2006 я загрузил RTF в компонент DataMemo в событии OnGetRow RVCustomConnection, прочитав RTF из элемента управления экрана (TLMDRichEdit), используя потоки, а затем выполнив CustomConnection.WriteBlobData.

В выводе отчета любой текст RTF теперь отображается в виде серии прямоугольников и знаков%. Нет читаемого текста. Весь другой текст (отображаемый с использованием компонентов Text и DataText) отображается правильно.

У кого-нибудь есть опыт как заставить RTF с юникодом правильно отображаться? Это даже поддерживается?

3 ответа

Решение

Если кто-то из Неврона не захочет комментировать, я прихожу к выводу, что это (пока) невозможно.

Я использовал это... похоже, что оно работает со встроенным в RAVE пакетом Dephi XE...

Procedure TfrmMain.RaveCustomConnectionGetRow                  (         Connection: TRvCustomConnection);
Var
  MemoString : String;
  Index      : Integer;
  Size       : Integer;
  Buffer     : PAnsiChar;

Begin


  { Init MemoString }
  MemoString := '';

  For Index := 0 To DataList.Count - 1 Do Begin
    MemoString := MemoString + DataList.Strings [Index] + #13#10;
  End; { For }

  { Set the Size (Unicode) and Buffer }
  Size := Length (MemoString) * 2;
  Buffer := PAnsiChar (MemoString);

  { Send the data over as a Blob object to RAVE }
  Connection.WriteBlobData (Buffer^, Size);

End; { RaveCustomConnectionGetRow Procedure }

Даже без юникода печать RTF в отчетах Rave прерывается (добавляет прямоугольники в конце строк). Новая версия 7.6.2 не исправила это,,,

F & ^% жалости от Codegear (или как это называется сейчас) и Неврона...

Другие вопросы по тегам