第二次调用报表为什么没有数据显示?(内详)
主窗体上调用另一窗体A
a:=Ta.create(owner);
a.showmodal;
a.free;
其中A上有一按钮B(ONClick),代码如下:
report.preview;//(report为报表名,为 auto-create form)
我击B时可以显示报表,一切正常,关闭报表,再击B,还正常。但当我关闭A后,再打开A再击B,报表里就没有数据了,请问是什么原因?(非得关闭程序在启动才可以)
问题点数:30、回复次数:14Top
1 楼thedream(梦幻使者)回复于 2001-12-24 11:41:38 得分 0
你不是把A已经free了吗
那在b.onclick里面应该要有A的创建部分呀
在B.onclick里加上创建A的代码即可Top
2 楼thedream(梦幻使者)回复于 2001-12-24 11:43:00 得分 0
还有啊,dataset之类的东西还要指明Top
3 楼rockhard(不签名)回复于 2001-12-24 14:20:32 得分 0
楼上的上午网络出了点问题没及时跟,
不过我用的是showMdal,直到关闭以后才会free呀,而第二次打开又会重新调用create创建呀!Top
4 楼AaronYang(Simon)回复于 2001-12-24 18:53:56 得分 0
我也碰到同样问题,大送分!!!!Top
5 楼rockhard(不签名)回复于 2001-12-24 20:16:18 得分 0
sos!Top
6 楼Nizvoo()回复于 2001-12-24 20:35:31 得分 0
莫非B中用了A的数据,,,关了A就不行Top
7 楼rockhard(不签名)回复于 2001-12-24 21:25:29 得分 0
代码全在上面呀!Top
8 楼stlont(龙头老大)回复于 2001-12-25 05:26:08 得分 0
主窗体上调用另一窗体A
a:=Ta.create(owner);
a.showmodal;
a.free;
其中A上有一按钮B(ONClick),代码如下:
--》加一句: table1.First; //因为preview后EOF=true
report.preview;//(report为报表名,为 auto-create form)
Top
9 楼rockhard(不签名)回复于 2001-12-25 08:44:36 得分 0
龙头老大,不行呀!
那是一个主从报表,数据集用得是两个TQuery组件.我close 再open都不行。到底是怎么回事呀?Top
10 楼rockhard(不签名)回复于 2001-12-25 11:38:51 得分 0
向上推一下!Top
11 楼thisisxutao(感觉跟我走)回复于 2001-12-25 12:31:01 得分 0
report.preview之前refresh一下吧Top
12 楼V_Lucky(最优解)回复于 2001-12-25 14:50:12 得分 30
主窗体上调用另一窗体A//去掉这部分
a:=Ta.create(owner);
a.showmodal;
a.free;
放到按钮B(ONClick),代码如下:
a:=Ta.create(owner);
try
a.showmodal;
report.preview;//(report为报表名,为 auto-create form)
finally
a.free;
end;
Top
13 楼rockhard(不签名)回复于 2001-12-27 09:09:04 得分 0
按V_Lucky(Lucky)的方法解决。加分,谢谢!Top
14 楼rockhard(不签名)回复于 2001-12-27 09:12:15 得分 0
补充一句,应该将a由auto-create form 改为available form .Top




