我用VB做了一个输入和网格的控件,一直使用得很好
但现在有个程序一个Form用了30个这种我自制的控件,当打开的窗体多了的时候会出现这个控件无法加载,内存溢出的错误,还有就是有时会出现非法操作但单独打开一个窗体不会出错这种情况只在win98下出现在win2000或winXP下运行正常,不会出现任何问题请高手帮帮忙,谢谢

解决方案 »

  1.   

    呵呵,win98的内存管理有问题建议,在写控件的时候充分考虑内存问题,对于不用的对象或数组要及时释放资源
    另外,也未必是控件的问题,也可能98出问题了,换一台安装98的机器试试,如果试了若干台都存在问题的话,就是你控件的问题了。这时你只能修改或重写控件另外,如果你希望大家帮你的话,最好提供你的代码
      

  2.   

    控件数组占用资源极少。当然最好不要使用太多自制控件,可将多个控件合以一起来调用。控件太多会给维护带来很大的麻烦,注意dll 陷井
      

  3.   

    是否使用了autoredraw属性?这个玩意儿应用不当,会产生内存泄漏解决办法:在OnPaint里自己重画
      

  4.   

    谢谢大家的帮助我已经重新写了自己的控件,我没有用到autoredraw,所以不存在上面的情况
    我将所有在控件中要用的VB控件都通过Controls.Add动态添加终于解决了这个问题。