Вопрос по Tfrxpictureview

отредактировано November 2008 Раздел: FastReport 4.0
У меня есть TPicture в формате EMF, получаемый путем экспорта схемы. В шаблоне для печати располагаю TfrxPictureView на одной странице и данные с БД на других.

Далее, код выглядит примерно сл. образом:
var frPicture: TfrxComponent;
    MyMegaPicture: TPicture;
...
begin
  ...
  frPicture := frReport.FindObject('frPicture');
  Assert(Assigned(frPicture) and (frPicture is TfrxPictureView));
  with frPicture as TfrxPictureView do
     Picture := MyMegaPicture; //фактически Picture.Assign(MyMegaPicture); 
  ...
  frReport.ShowReport; //кажется так... не суть важна.
  ...
end;

Собственно, в отчете ожидаю увидеть свою схему. Вижу не понятную мне иконку. Победить удалось только написав наследника от TfrxPictureView и перекрыв ему Draw, где я ручками насильно запихал картинку, или сохранив в файл и загрузив потом из него, или запихав картинку в BLOB поле БД. Меня ни один из этих способов не устраивает.

Так же выяснил, что создаются 4 копии TfrxPictureView (зачем??) и естественно в копии картинка не копируется, а помещается в кэш, и по идее должна потом из него загружаться. Но этого не происходит почему-то...

Сам вопрос. Как мне корректно распечатать картинку из TPicture, не используя временные файлы, БД и т.д. указав из кода какую картинку должен отобразить TfrxPictureView?


***

Не надо отвечать. Сам разобрался. Оказывается экспорт картинки был доступен в 2х режимах (различные константы в заголовке метафайла). Первый - только для работы в виртуальной памяти. В этом режиме картинка сохранялась некорректно. Во втором режиме возможно сохранение на диск, в поток и т.д. Собственно я использовал первый. Отсюда и вытекала проблема. Но с другой стороны, если картинка кэширована и кэш не был загружен, то почему FR об этом не сказал? Я бы сэкономил уйму времени.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.