找回密码
 立即注册

QQ登录

只需一步,快速开始

jxfun

银牌会员

5

主题

9

帖子

2693

积分

银牌会员

积分
2693

活字格认证

jxfun
银牌会员   /  发表于:2012-8-24 15:44  /   查看:7825  /  回复:5
Dim rpt As New myReprt
rpt.DataSource = table  '有8000条数据以上
rpt.Run(False) '运行很久,最后提示“内存不足”

我的电脑XP,4G内存,从资源管理器中看内容仅用了1.7G,rpt.Run时CPU占用率达到50%以上。
请问这个现象怎么处理?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-8-24 16:58:00
沙发
回复 1楼jxfun的帖子

jxfun 你好,
不好意思,根据当前信息无法重现问题。能否发个 Demo 到论坛调试?
回复 使用道具 举报
jxfun
银牌会员   /  发表于:2012-8-24 17:05:00
板凳
我的报表中有两个条码,我把那两个条码删除后,10秒钟内可以生成出来。
所以现在可以肯定的是,Active reports 在绘制条码上出了问题,是不是Active reprots 的BUG。怎么处理这个问题。
Demo比较简单,你可以在Reports中放入条码,然后绑定数据设置在8000条以上,就会非常慢了,你可以试试。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-24 17:57:00
地板
回复 3楼jxfun的帖子

jxfun 你好,
原因可能为条码生成的是图片资源所以占用内存较大,我会在调试之后尽快回复。
回复 使用道具 举报
jxfun
银牌会员   /  发表于:2012-8-24 19:00:00
5#
另外,我测试了逐步加数字,第一次 2000条记录没问题,第二次4000条记录没问题,第三次6000记录内存基本满了,可以看到内存在不断增加。。。。
第4次8000条记录,最后报内存不足错误。

也就是说Active reports 在绑定数据时,特别是里面有条码(图片),先全部写到内存中,内存不断增加,最后导致内存不足的错误提示。

后来我试了在rpt.Run(False) 前面加  rpt.Document.CacheToDisk = True 也不行。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-8-27 13:47:00
6#
回复 5楼jxfun的帖子

jxfun 你好,
我的测试数据源为 9720 行,绑定给 BarCode 后台运行正常。
所以,没能重现问题,能否发 Demo 到论坛调试?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部