FastReport无法预览。(100分)

  • 主题发起人 主题发起人 EricER
  • 开始时间 开始时间
E

EricER

Unregistered / Unconfirmed
GUEST, unregistred user!
现用FastReport时遇到一个问题,先调用OpenDialog,
再动态调用报表文件,无法预览。也不报错。
搞不懂!!!
 
装个打印机试试:)
 
代码贴上来才好分析问题要不就象猜竹筒里的黄豆一样,很是困难的
 
用frreport.loadfile...装入文件名(注意完整路径,别丢了后缀.frf),
然后frreport.showreport;如果还是无法预览(无数据),那是你报表设计有问题;如果连预览都没显示,不好意思,就好像问我:坏了,我的电脑启动不了 类似的问题,难以回答!仅供参考!
 
各位,这个现象是这样的,当不先调用OpenDialog时一切正常,
注: OpenDialog不是用在FastReport上的,
调用代码如下:
procedure Tfrm_PrdcSchedulePrintSettings.bbtn_EnterClick(Sender: TObject);
var
Report: TfrReport;
begin
Report:=DM_FlexSide.rpt_Common;
//主从表
with DM_FlexSide.AQry_RptMasterdo
begin
Close;
SQL.Clear;
SQL.Add('SELECT tbl_MOBFilialePlan.PrdcPlanNo, tbl_MOBFilialePlan.PrdcNoteNo,');
SQL.Add('tbl_MOBFilialePlan.SourceNo, tbl_BASUserInfo.Name,tbl_MOBFilialePlan.PlanNoteDate ');
SQL.Add('FROM tbl_MOBFilialePlan Left Outer JOIN tbl_BASUserInfo ON ');
SQL.Add('tbl_MOBFilialePlan.FollowManID = tbl_BASUserInfo.IDNo where tbl_MOBFilialePlan.PrdcNoteNo=:PrdcNoteNo');
Parameters.ParamByName('PrdcNoteNo').Value:=trim(edt_PrdcNoteNo.Text);
end;
with DM_FlexSide.AQry_RptDetailsdo
begin
Close;
SQL.Clear;
SQL.Add('SELECT tbl_MOSDept.DeptName, tbl_MOSWorkingProc.WorkingProcName, tbl_MOBPrdcLine.TransNextDate,');
SQL.Add('tbl_MOBPrdcLine.TransNextNum,tbl_MOBPrdcLine.TransNextUnit, tbl_MOBPrdcLine.InferiorRate,');
SQL.Add('tbl_MOBPrdcLine.WorkingProcRequest FROM tbl_MOBPrdcLine Left Outer JOIN tbl_MOSDept ON ');
SQL.Add('tbl_MOBPrdcLine.DeptNo = tbl_MOSDept.DeptNo Left Outer JOIN tbl_MOSWorkingProc ON ');
SQL.Add('tbl_MOBPrdcLine.WorkingProcNo = tbl_MOSWorkingProc.WorkingProcNo ');
SQL.Add('where dbo.tbl_MOBPrdcLine.PrdcNoteNo=:PrdcNoteNo');
if trim(edt_DeptNo.Text)<>'' then
begin
SQL.Add(' and tbl_MOBPrdcLine.DeptNo=:DeptNo');
Parameters.ParamByName('DeptNo').Value:=trim(edt_DeptNo.Text);
end;
end;
try
Report.LoadFromFile('PrdcSchedule.frf');
except
Application.MessageBox('PrdcSchedule.frf文件不存在','Information');
exit;
end;
Report.Preview:=nil;
if Report.PrepareReport then
Report.ShowPreparedReport;
end;
 
我也遇到了這樣的問題
大家可以做這樣一個測試
Form1里,Button1,Button2,frReport1,OpenDialog1
Button1點擊事件里
frReport1.loadfromfile('d:/test1.frf');//test1沒數據集,只顯視幾個字
frReport1.showReport;
Button2點擊事件里
OpenDialog1.Execute;
操做順序:
1.點按鈕Button2,隨便選一個文件
2.點按鈕Button1,看你能预览么?
 
? 你测试一下:将OpenDialog1分别放在与frReport1相同、不同的form里,看结果是不是一样,然后在判断问题所在!
 
从你的代码中看出你的FR是用临时生成的吧??
这个时候你是否需要将FR报表中的Datasource重新指定过一次看看效果如何??
 
to app2001:
你說的方法都試過了,接果依舊
麻煩幫測試一下好嗎?急!
 
怎么个试法??
把代码贴上来,急是没有用的,你最好一步步说清楚些
 
to app2001:
謝謝你的關注,我已經解決
LoadFromFile時必須填完整路經!!!
個人估計OpenDialog的LoadFromFile和frReport的LoadFromFile有沖突
 
哦,你的报表文件不在当前目录下吗?
 
非常感谢各位的回答,
答案已经查出,原来是路径的问题,
再次谢谢各位。
散分...
 
后退
顶部