Отображение текста в Юникоде в Rave Reports на Delphi 2009 - PullRequest
2 голосов
/ 09 февраля 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 ]

1 голос
/ 27 февраля 2012

Я использовал это ... похоже, что оно работает со встроенным в 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 }
0 голосов
/ 22 апреля 2009

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

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

0 голосов
/ 13 февраля 2009

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

...