Разрезка большого отчета на куски
В FR 2.4 у объекта TfrReport было событие OnEndPage, которое позволяло в процессе формирования отчета кусками выгружать его в файл. Пример кода:
begin
if pgNo >= vMaxPages then begin
with Report do begin
sNameFileRep:= LAdd(IntToStr(iPos), '0', 2) + '.frp';
if not DirectoryExists(sDirName) then ForceDirectories(sDirName);
SavePreparedReport(sDirName + '\' + sNameFileRep);
EMFPages.Clear;
end;
end;
Inc(pgNo);
end;
Как сделать подобное в FR4?
begin
if pgNo >= vMaxPages then begin
with Report do begin
sNameFileRep:= LAdd(IntToStr(iPos), '0', 2) + '.frp';
if not DirectoryExists(sDirName) then ForceDirectories(sDirName);
SavePreparedReport(sDirName + '\' + sNameFileRep);
EMFPages.Clear;
end;
end;
Inc(pgNo);
end;
Как сделать подобное в FR4?
Комментарии
Inc(gn_I);
if gn_I mod 10 = 0 then begin
Sender.PreviewPages.SaveToFile('D:\' + IntToStr(gn_I) + '.fp3');
Sender.PreviewPages.ClearFirstPassPages;
end;
gn_I - глобальная переменная-счетчик.
В этом случае первые 10 страниц сохраняются, после чего построение отчета прекращается. Как заставить его продолжать?