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

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即可。

你可能感兴趣的:(C++,c,C#)