给FastReport4导出功能增加两个事件

来源:互联网 发布:js函数式编程指南 编辑:程序博客网 时间:2024/06/14 16:38

FastReport做报表还是挺方便的,虽然自4.7.X后的汉化问题多多,但也不影响使用。这次由于客户使用一种类似于远程终端的技术来使用系统,导出报表时需要压缩数据以减少流量,因此在FR的导出功能中增加了两个事件以在导出时通知主程序进行处理。

 

首先在frxClass.pas中找到TfrxCustomExportFilter定义,在public下增加属性:

property OnStart: TNotifyEvent read FOnStart write FOnStart;
property OnFinish: TNotifyEvent read FOnFinish write FOnFinish;
按Shift+Ctrl+C作自动完成。

 

然后在ExportPack目录下修改 frxExportCSV.pas、frxExportODF.pas、frxExportText.pas、frxExportTXT.pas、frxExportXLS.pas、frxExportXML.pas等文件中找到各个导出类,在function Start: Boolean;函数后增加代码行:

  if Assigned(OnStart) then OnStart(Self);  //增加对OnStart事件的调用

//下面为原有的代码
  if (FileName <> '') or Assigned(Stream) then
  begin 。。。

在procedure Finish;函数最后增加:

if Assigned(OnFinish) then OnFinish(Self);//增加对OnFinish事件的调用。

 

最后,编译相关包(DPK),重新安装FR即可。

 

原创粉丝点击