fastreport打印问题(200)

  • 主题发起人 主题发起人 ilovezlaner
  • 开始时间 开始时间
I

ilovezlaner

Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, frxClass;type TForm1 = class(TForm) fr1: TfrxReport
Button1: TButton
procedure Button1Click(Sender: TObject)
private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin fr1.LoadFromFile('hg.fr3')
TfrxMemoView(fR1.FindObject('memo1')).memo.text:='合同编号:1111'
fr1.ShowReport
end;程序运行时,要报错:project project1.exe raised exception class EAccessViolation with message"Access violation at address 005255E1 in module project1.exe,Read of address 000001FC.".process stopped. Use Step or Run to continue.但是如果去掉 fr1.LoadFromFile('hg.fr3');后就不会报错了,但是我不可能不调用赛请高手指教
 
fr1.LoadFromFile('hg.fr3');请带路径。出错原因:报表的加载函数LoadFromFile,如果不写明完整的路径,它默认的是当前的路径。问题就在于此,报表和应用程序放在同一个目录下,但是在使用过程中,由于要导入Excel数据,它会改变当前的路径,也就使得LoadFromFile函数不是从应用程序也就是报表所在的路径加载报表,而是从当前路径加载,导致加载失败。建意:TfrxMemoView(fR1.FindObject('memo1')).memo.text:='合同编号:1111';请把此语句放在OnGetValue中
 
接受答案了.
 
言简意赅 专业分析 赞赏有加
 

Similar threads

I
回复
0
查看
774
import
I
I
回复
0
查看
751
import
I
I
回复
0
查看
698
import
I
I
回复
0
查看
721
import
I
I
回复
0
查看
684
import
I
后退
顶部