高分求助,仍旧是win98环境下内存溢出问题,是否是因为控件使用太多,在加载Form时出现加载错误,"内存溢出".急!急!急! 控件是自定义控件,单独编译的ocx,在win2000系统及xp系统下编译,运行均正常,在98环境下编译通过后,调试运行都通不过! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该不会是控件太多.你注册一下你控件吧.用regsvr32 控件注册了,在加载时控件数组load 了一半,剩下的给"溢出"了.郁闷中! 你先测试一下.选不要在LOAD事件中加载控件.另外找个按钮来加载这个控件看一下会不会溢出,再分析. 我刚刚 做完测试 ,在xp下,我load到了5000没有问题,98下vb+sp6,textbox加载到945,自定义的ocx为475个出现内存溢出. 98下128m,xp下256m,另外在xp下做测试内存负荷并不大. 自己顶一下,控件数目在win98里好像真的有限制,有没有哪位老兄帮帮忙? 不仅在98下有限制,在XP也是有限制的准备地说,应是VB对一个窗口所使用的控件有限制,不能超过128个,如果超过28个,只有使用控件数组的办法解决。如果每个窗口都没有超过128个,那就只受内存的限制了 "textbox加载到945,自定义的ocx为475个出现内存溢出."你这样做下测试,可能会找到更具体的原因。1. 只加载textbox控件数组,加载2000个,看是否有问题。2. 如果没问题,将你的控件换为其他的一个标准控件,为了加快测试速度,你最好加载image或lable这样的轻量控件。如果也没问题,那么我的猜想可能是正确的。因为这个数量已超过你出错时的控件数量了。那你就应该检查你的控件了。 我加载的就是vb里的textbox,在98+vbsp6环境下的,98se系统是新装的,没有打任何sp,在64M内存和128M内存环境下测试结果是不一样的,所以我猜测98里系统分配程序内存与2000或者xp的差别很大.我不想再做测试了,原来以为win98可以有sp打,昨天使用windowsupdate 发现了13项关键更新,但没有与内存有关的,所以我就没有装.songyaowu(韧恒)老兄,您的第一个测试在我的环境下就通不过. 实在不行,只好说服领导所有客户机换win2000或者xp了.又是一笔不小的开销! 我用的大控件更多,不必.窗体确实容纳控件有限,但一般情况下用不着那么多.我曾在一个窗体放了五个预览发票的样式,再加TOLLBAR,VIEWTREE等一大堆控件,到一定数量,再放就放不下了,说已经超出控所能容控件的最大数目.我只好把一些线换成SHAPE.把几个LABEL换成一个,这是问题一,但只会出现在设计阶段.楼主遇到的确实是内存(管理)的问题,我经常在调试情况下,出现这个问题,2K和XP下不遇到只有98下遇到,但98也不是所有的都遇到,正版刻录光盘总遇到,重启机就好了.再改一会又完了(256M内存).而市面上的盗版98就很少遇到.说明绝不是内存大小的问题,因为我是256M的.而且出现这情况用魔法免子整理出80M来也不好使.就是98操作系统的问题.有一种可能情况但不好说.可能是. 调用过程后显示数据问题 请大虾指点一本经典的数据结构和算法的书? 排列组合 一个关于vb5到vb6转换的问题 一个简单的问题 如何去掉ADO控件的自动保存功能 vb如何判断数据库增加新一条记录 请问为什么用datareport预览时,有的时候只显示报表格式的一部分??不胜感激 我用datagrid帮定ado控件,在做删除和添加操作的时候,datagrid不随ado的变化而变化怎么办? 熟悉文件操作的高手请进来坐一下。 高手快来呀!!!帮帮小弟!!!!!! image控件的一个小问题,please
你注册一下你控件吧.
用regsvr32
另外找个按钮来加载这个控件看一下会不会溢出,再分析.
准备地说,应是VB对一个窗口所使用的控件有限制,不能超过128个,如果超过28个,只有使用控件数组的办法解决。
如果每个窗口都没有超过128个,那就只受内存的限制了
1. 只加载textbox控件数组,加载2000个,看是否有问题。
2. 如果没问题,将你的控件换为其他的一个标准控件,为了加快测试速度,你最好加载image或lable这样的轻量控件。
如果也没问题,那么我的猜想可能是正确的。因为这个数量已超过你出错时的控件数量了。那你就应该检查你的控件了。