Загрузка отчета из поля БД

отредактировано 23:33 Раздел: FastReport 3.0
Здравствуйте все. Помогите пожалуйста разобраться как в D7 из поля БД в MS SQL Server загрузить отчет в frxReport v 3.19. дело в том что написанный мною код прекрасно работает в D2005 но при переносе в D7 стал выдавать ошибку: "Access violation at address 0082EDD1 in module Trade.exe. Read at address 000000B4"
Код процедуры:

procedure TfBacklog.cxGrid2DBTableView1DblClick(Sender: TObject);
var
AStream: TMemoryStream;
begin
if not qsysTradeReport.Active then qsysTradeReport.Active := true; //таблица где храниься отчет
try
AStream:=TMemoryStream.Create;
with dmReport do
begin
frxRep.Clear;
try
qsysTradeReportReport.SaveToStream(AStream);
frxRep.LoadFromStream(AStream);
except
on E: Exception do MessageDlg(E.Message, mtError, [mbOk], 0);
end;
frxRep.Variables := '1';
frxRep.Variables := ''''+FormatDateTime('yyyymmdd',qZakazdate.AsDateTime)+'''';
frxRep.Variables := ''''+FormatDateTime('yyyymmdd',qZakazdate.AsDateTime)+'''';
frxRep.Variables := '0';
frxRep.Variables := '2000000';
frxRep.Variables := qLinkid.AsString;
frxRep.Variables := qLinkid.AsString;
if frxRep.PrepareReport(true)
then
begin
try
frxRep.ShowPreparedReport;
except
MessageDlg('Ошибка.', mtError, [mbOk], 0);
exit;
end;
end
end;
finally
AStream.Free;
end;
end;

Комментарии

  • gpigpi
    отредактировано February 2006
    try
    qsysTradeReportReport.SaveToStream(AStream);
    AStream.Position:=0;
    frxRep.LoadFromStream(AStream);
    except

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

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