INTRAWEB + FASTREPORT 输出报表问题

steven_zk 2020-05-16 10:12:07
各位大侠,
我用INTRAWEB 15 + FASTREPORT 6.0 想实现浏览器端生成报表(就是在在服务器端临时目录生成PDF)代码如下:


PROCEDURE TIWFORM1.preview_frx(tbname: string;doc_no,i_code:string);
VAR
DM:TDATAMODULE1;
SQL1:STRING;
PDF_PATH:STRING;
PDF_GUID:STRING;
PDF_FILENAME:STRING;
FR3_LOADPATH:STRING;
I:INTEGER;
FRXRP:TfrxReport;
FRXPDFEX:TfrxPDFExport;
begin
FRXRP:=TFRXREPORT.Create(SELF);
FRXPDFEX:=TFRXPDFEXPORT.Create(SELF);
FR3_LOADPATH:=WEBAPPLICATION.ApplicationPath+'PRINT_MODLE_TYPE\';
IWRDGP_PRINT_DETAIL.Items.Add(FR3_LOADPATH);
PDF_PATH:=WEBAPPLICATION.ApplicationPath+'lable\';
PDF_GUID:=getGUID;
PDF_FILENAME:=PDF_PATH+PDF_GUID+'.pdf';
DM:=TDATAMODULE1.Create(SELF);
SQL1:='SELECT * FROM '+TBNAME;
DM.SSPDS.DataSet.CommandText:=SQL1;
DM.sspds.Active:=true;
DM.sspds.DataSet.Active:=true;
FRXRP.LoadFromFile(FR3_LOADPATH+IWEDIT_FR3NAME.Text);
FRXDBDATASET1.DataSet:=DM.sspds;
FRXRP.DataSet:=FRXDBDATASET1;
FRXRP.PrintOptions.ShowDialog:=false;
FRXPDFEX.ShowDialog:=FALSE;
FRXPDFEX.FileName:=PDF_FILENAME;
FRXRP.PrepareReport();
FRXRP.Export(FRXPDFEX);
DM.SSPDS.DataSet.Active:=FALSE;
DM.SSPDS.Active:=FALSE;
DM.Free;
FRXRP.FREE;
FRXPDFEX.FREE;
end;

实际测试过程中 服务器IIS INTRAWEB生成DLL文件放在服务器上,现在的问题是,IIS启动后第一次打开IE生成pdf报表没有问提,不关闭IE可以一直生成。但是关闭之前打开的IE后再次打开IE ,无法生成报表,跟踪后发现 FRXRP.PrepareReport(); 未正常执行。

望各位大侠指教一,二
...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
steven_zk 2020-05-17
  • 打赏
  • 举报
回复
客户端IE一直在执行中未导出希望的PDF文件,没有报错窗口
tanqth 2020-05-17
  • 打赏
  • 举报
回复
未正常执行的错误提示是什么,或什么异常。
steven_zk 2020-05-17
  • 打赏
  • 举报
回复
现在就是跟踪到第二次打开IE后的PREPAREREPORT()执行时停住了,服务器端也没有什么可以跟踪的。还能怎么找错呢?
tanqth 2020-05-17
  • 打赏
  • 举报
回复
引用 2 楼 steven_zk 的回复:
客户端IE一直在执行中未导出希望的PDF文件,没有报错窗口
你说了“跟踪后发现 FRXRP.PrepareReport(); 未正常执行”,这里按理说应该有错误。 你的FRXRP是动态生成,应该与上次的没关系;文件名是GUID文件应该不会重复。那么,可能需要把错误检查范围扩大了。 客户端肯定会一直等待,因为服务器并没执行完成,没有返回数据的。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧