fastreprt不能调用PrintPreparedReportDlg的方法,出错list index out of bounds(0)(100分)

  • 主题发起人 主题发起人 ddw
  • 开始时间 开始时间
D

ddw

Unregistered / Unconfirmed
GUEST, unregistred user!
我在使用fastreport2.46的时候,报表设计已经没有问题,在设计界面里面预览打印都没问题。
1。但是在delphi执行frReport1.PrintPreparedReportDlg;的时候,出现调用打印机的界面,当你按下打印按钮的时候,就弹出 ‘list index out of bounds(0)"的提示,然后程序指向fr_class.pas的frProgressForm.ModalResult := mrOk;语句,当然什么也打印不出来。
现在我采用frReport1.ShowReport;的方法,调用fastreport的预览界面,然后打印。
但是这样很不方便。
2。我发现在调用frreprt1得很多方法都不能用。例如 printtodefault,提示
piint.pas(211): Statement expected, but expression of type 'WordBool' found这样的错误。反正用起来不爽。
3。如果程序编译完成后,是不是能完全脱离delphi的环境,即在另一台机器中只有98操作系统,fastreport能在编译的程序中使用吗。
winxp,delphi6 sp2 ,sqlserver2000,fastreport2.46(来自delphi.mychangshu.com)
 
我觉得是fastreport版本的事情。
是可以脱离delphi环境的。
//贴出你的部分代码
 
ddw 你的报表中的字段超出了数据表中的字段数目
例如 你在设置时 用的是 select a, b,c,d,e from table1
而在程序运行时 你的sql 却成了 select a, b,c from table1
 
有没有在之前调用preparereport? 这一步很必要哦。
 
是这样写的代码吗?
frReport1.PrepareReport;
frReport1.PrintPreparedReport('', 1, True, frAll);
或者
frReport1.PrintPreparedReportDlg;
 
检查你报表中有没有存在字段信息改变现象
 
谢谢各位,解决了
 
什么原因? 怎么解决的啊? 为什么不贴出来让大家多一份经验呢? ^_^
 
1,如你所说,因为没有执行preparereport这步。
2,可能也和1有关,但是printtodefault不好使,还是提示那句话,我已经加入preparereport了。
3,发现能脱离delphi和fastreport运行,但是现在正在研究,在xp下运行没问题的程序,
能否在98下运行。
谢谢各位。
 
后退
顶部