fastreport4 的奇怪问题(200)

  • 主题发起人 主题发起人 zlibo
  • 开始时间 开始时间
Z

zlibo

Unregistered / Unconfirmed
GUEST, unregistred user!
我程序中有这样代码frxReport.LoadFromFile('roster.fr3')frxPage:=ffrx.Pages[1];//有时在这一行的时候会报错:list out of bounds(1)就是说找不到pages[1],应该是LoadFromFile失败了,奇怪的是,有时候并不报错,不管load哪个文件都不报错,但是只要一报错,然后不管load哪个文件都会提示那个错误信息,即使是重新启动我的程序,也还是报那个错,还有一个比较奇怪的现象,就是报错后我进行单步调试,但是调试状态下都不报错,会执行成功,但是执行可执行程序就又会报错,我简直晕了,希望高手指点一下,找出原因或解决方法立即送分,绝不食言
 
应该是目录位置的原因,frxReport.LoadFromFile('roster.fr3')这个语句是从与可执行文件一样的位置(或者是工程文件一样的位置,调试的时候)装入报表,比如说,f:/roster.fr3,但是在执行某些操作后(比如使用了opedialog,savedialog等功能后),默认的目录会改变,比如变成了 d:/roster.fr3,这样装入报表就会失败。简单的办法1、在装入文件前加判断 如 if fileExists2、使用绝对路径 比如 ExtractFilePath(Application.exeName) +'roster.fr3'
 
看楼主的代码感觉有些困惑,感觉控件、变量命名含义不明确哟[:)]
 
后退
顶部