type
TmPrint = class
private
FR: TfrxReport;
.....
public
.....
procedure LoadReportPackage(ReportFileName: string; DataSet: TDataSet);
procedure LoadReportPackageShow;
end;
......
{ ------------------------------------------------------------------- }
procedure TmPrint.LoadReportPackage(ReportFileName:string; DataSet:TDataSet);
begin
FDataSet := DataSet;
ReportFile:= ReportFileName;
FR.LoadFromFile(ReportFile);
FR.PrepareReport(False);
end;
{ ------------------------------------------------------------------- }
procedure TmPrint.LoadReportPackageShow();
begin
FR.ShowPreparedReport;
end;
FastReport4.0. DialogPage при пакетной печати, как показать один раз?
Но возникла ситуация, когда этот отчёт должен быть напечатан пакетно (т.е. один и тот же отчёт вызывается несколько раз (PrepareReport несколько раз в самом конце ShowReport) с параметрами PrintOnPreviousPage = True и ClearLastRepot = false). Соответственно сколько раз его вызываешь - столько раз он и показывает DialogPage.
Необходимо же, что бы юзер ввел данные только в первом случае, а потом уже использовалось то, что он навводил в первом случае.
Код примерно такой (Delphi 7):
Код:
т.е. в цикле сначала вызывается LoadReportPackage с меняющимся данными датасета, а потом вызывается LoadReportPackageShow
Конструктор и деструктор в целом стандартны...