Автономные интерактивные отчеты

отредактировано 11:46 Раздел: FastReport 3.0
Есть таблица в БД с отчетами в BLOB-полях. Приложения независимы от отчетов.
В отчетах используются обработчики событий на PascalScript.
Задача: Средствами PascalScript из одного отчета нужно вызвать другой отчет передав ему параметры.

Попробовал решить проблему так:

procedure Memo2OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);
var rpSaw_detail : TfrxReport;
msRpt_data : TMemoryStream;
begin
msRpt_data := TMemoryStream.Create;

//fqrReports_for_SAW - TfrxADOQuery
TBlobField(fqrReports_for_SAW.Fields[1]).SaveToStream(msRpt_data); // здесь в run-time вываливается Access violation
msRpt_data.Position := 0;
rpSaw_detail := TfrxReport.Create(Report.Owner);
rpSaw_detail.LoadFromStream(msRpt_data);
msRpt_data.Free;
rpSaw_detail.ShowReport();
rpSaw_detail.Free;
end;

В design-time все нормально, а в run-time вываливается Access violation

Вопросы:
1. Как получить доступ к BLOB-полю из скрипта?
2. Если с помощью только скриптов не решить эту проблему, какое решение посоветуете.

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

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