mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 09:56:12 +02:00
lazreport: revert revision 49710 #0c5e2500dc so code in Filter.AfterExport (e.g. SpreadsheetExport) that depends on file being already written works.
Adapts PDFExport to write the Stream in EndDoc instead of Destroy to avoid crash git-svn-id: trunk@49718 -
This commit is contained in:
parent
982ce0aebc
commit
647b02469b
@ -54,6 +54,7 @@ type
|
||||
constructor Create(AStream: TStream); override;
|
||||
destructor Destroy; override;
|
||||
procedure OnBeginPage; override;
|
||||
procedure OnEndDoc; override;
|
||||
procedure OnEndPage; override;
|
||||
procedure ShowBackGround(View: TfrView; x, y, h, w: integer);
|
||||
procedure Frame(View: TfrView; x, y, h, w: integer);
|
||||
@ -166,7 +167,6 @@ end;
|
||||
|
||||
destructor TfrTNPDFExportFilter.Destroy;
|
||||
begin
|
||||
PDF.GetPdfDoc.SaveToStream(Stream);
|
||||
PDF.Free;
|
||||
DummyControl.Free;
|
||||
inherited;
|
||||
@ -195,6 +195,11 @@ begin
|
||||
PRPanel.Height := PPage.Height;
|
||||
end;
|
||||
|
||||
procedure TfrTNPDFExportFilter.OnEndDoc;
|
||||
begin
|
||||
PDF.GetPdfDoc.SaveToStream(Stream);
|
||||
end;
|
||||
|
||||
procedure TfrTNPDFExportFilter.OnEndPage;
|
||||
begin
|
||||
PDF.Print(PPage);
|
||||
|
@ -10890,11 +10890,14 @@ begin
|
||||
end
|
||||
else
|
||||
Result:=false;
|
||||
//is necessary to destroy the file stream before calling FCurrentFilter.AfterExport
|
||||
//to ensure the exported file is properly written to the file system
|
||||
ExportStream.Free;
|
||||
FCurrentFilter.Stream := nil;
|
||||
|
||||
if Result then
|
||||
FCurrentFilter.AfterExport;
|
||||
FreeAndNil(FCurrentFilter);
|
||||
ExportStream.Free;
|
||||
end;
|
||||
|
||||
procedure TfrReport.FillQueryParams;
|
||||
|
Loading…
Reference in New Issue
Block a user