INTRAWEB + FASTREPORT 输出报表问题
各位大侠,
我用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(); 未正常执行。
望各位大侠指教一,二