Delphi中用服务器组件解决WEB交叉报表问题(2)2011-12-12 csdn博客 编程手札Fast Report是一个经典的报表控件,不过其导出功能只支持导出到磁盘文件,而此项目为了避开权限的限制和出于服务器安全的需要,要求将Fast Report生成的报表导出到内存流,所以要修改Fast Report源码。Fast Report2.5的导出函数在FR_Class文件中声明,参考此函数,可以很轻易的写出导出到内存流的函数://添加导出到内存流的支持 --Conch 2007-09-10-- procedure TfrReport.ExportToStream(Filter: TfrExportFilter; Stream: TMemoryStream); var s: String; Flag, NeedConnect: Boolean; begin DocMode := dmPrinting; FCurrentFilter := Filter; if (Preview <> nil) and (EMFPages.Count = 0) then begin Preview.Disconnect; NeedConnect := True; end else NeedConnect := False;
Flag := True; if Assigned(FCurrentFilter.OnBeforeExport) then FCurrentFilter.OnBeforeExport(FCurrentFilter.FileName, Flag); FCurrentFilter.Stream := Stream;