如何发布fastreport报表文件,不想让用户可以看见一个个.frf的文件。。。 ( 积分: 100 )

  • 主题发起人 主题发起人 Neo_leaf
  • 开始时间 开始时间
N

Neo_leaf

Unregistered / Unconfirmed
GUEST, unregistred user!
在发布数据库程序时,
如果只是把报表文件直接拷贝到安装的目录下,
如果用户一不小心删除了其中一个,程序则会出错,
想请教下,有没有办法把报表打包在一起,封装起来,
不要让用户直接可以看到,
还有一个,就是担心其他公司看到了这些报表文件,直接拷贝去用了,
不安全,
 
直接将 frxReport 的 StoreInDFM 设置为 true,发布时就不用发布报表文件了。
 
这样的话岂不是需要多个TfrReport控件,
对于每个报表都要一个,
是不是?
 
可以编译成 res ,并打包到程序里
在程序里可以读出来
 
哦,这个做法我很想知道,
lqcros可以详细点解释一下吗?
 
skinfile skntype res/1.fr3
保存为 skin.rc

procedure TForm1.FormCreate(Sender: TObject);
var
resSkinFile: TResourceStream;
hInstance: THandle;
begin
hInstance := 0;
resSkinFile := TResourceStream.Create(hInstance,'skinfile',PChar('skntype'));
frxReport1.LoadFromStream(resSkinFile);
SkinData1.Active := true;
end;
 
直接将 frxReport 的 StoreInDFM 设置为 true 是需要多个TfrReport控件,对于每个报表都要一个,但并不会增加体积,且方便编程与修改。
 
可以将报表文件放到资源文件里或直接存到数据库中。
 
我是做成DLL文件
方法同lqcros一样
 
lqcros和Sohe可以说详细点吗?
 
上传到数据库比较好一点。[:D]
 
上传到数据库?
就是说,
先保存到数据库中,然后需要的时候取出,进行loadfromstream(),
是这样吗?
 
作过fastreport2.54将文件保存到数据库的BLOB字段中,不知道fastreport3里支持不!
 
这个方法有没有人试过啊?
别忽悠人啊,
 
我个人还是觉得做成dll比较好,
 
我觉得还是保存到数据库blob字段内比较好,这样客户修改报表模板后很容易保存下来。保存到DLL、RES、或存于窗体dfm中,报表模板客户修改后保存下来不方便,报表模板修改后必须重新编译程序再发布。
 
那样只需要替换dll即可,
应该比更新数据库方便吧,?
我觉得。
 
报表保存到数据库中最好,
我有做这样的例子:
www.zptang.ys168.com
 
To:唐佐平
报表保存到数据库中的例子怎么在www.zptang.ys168.com 找不到?
可否告诉是哪个文件?
谢谢!
 
接受答案了,
 
后退
顶部