目前正在做一个管理信息系统,用的是Delphi平台,报表用的是FastReport,一个很奇怪的问题困惑着我
报表有时候能预览,有时候无法预览
原来的预览程序是:
frxEITRep.Clear;
frxEITRep.LoadFromFile('EPFRep.fr3');//加载报表
frxEITRep.ShowReport;//预览
上述代码在平时的程序中看,是一点问题都没有,但是它却隐藏着一个很严重的问题:报表的加载函数LoadFromFile,如果不写明完整的路径, 它默认的是当前的路径。问题就此,我的报表和应用程序放在同一个目录下,但是在使用过程中,由于要导入Excel数据,它会改变当前的路径,也就使得 LoadFromFile函数不是从应用程序也就是报表所在的路径加载报表,而是从当前路径加载,导致加载失败。
正确的写法应该是:
PATH:=ExtractFilePath(Application.ExeName);//得到应用程序所在的路径,也就是报表所在的路径
frxEITRep.Clear;
frxEITRep.LoadFromFile(PATH+'\EPFRep.fr3');//加载报表
frxEITRep.ShowReport;
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/archive/2012/01/05/2313604.html