首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

被VB6这有关问题困惑了N久~热

2012-01-03 
被VB6这问题困惑了N久~热用着用着就内存溢出,明明代码没错.翻译能OK~新打开时VB6就很快,后来调试调试着就

被VB6这问题困惑了N久~热
用着用着就内存溢出,明明代码没错.翻译能OK~新打开时VB6就很快,后来调试调试着就越来越慢,慢到提示内存溢出而重新打开VB6,
这是什么问题呢.机器的内存有1G啊,再说VB6又没有VS2005那样占资源,C友们,这样的情况你们
有遇到吗------这可跟系统没关系哦--因为俺重装N次都会

[解决办法]
可能你的程序有很多对象使用后没有及时释放
[解决办法]
你是不是调用了什么API或者第三方控件,可能是资源没释放
  
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
http://feiyun0112.cnblogs.com/
[解决办法]
这种问题不一定是内存占用太多:试一试下面的代码:

VB code
Private Sub Command1_Click()Dim a As Stringa = InStr(1, "12dザa", "a", 1)End Sub
[解决办法]
LZ:你可在使用对象后用下面语句:
Nothing
使用 Nothing 关键字被将对象变量从实际对象中分离开来。要使用 Set 语句将 Nothing 赋值给对象变量。例如:

Set MyObject = Nothing

几个对象变量可以引用同一个实际对象。当 Nothing 被赋值给一个对象变量时,该变量不再引用任何实际对象。当几个对象变量引用同一个对象时,只有将全部对象变量都设置成 Nothing 之后,与被引用的对象有关联的内存资源及系统资源才会被释放掉,在这里,或者明确使用 Set,或者在最后一个设置成 Nothing 的对象变量超出范围后隐含地使用 Set。

[解决办法]
这叫内存泄漏,最常见的原因就是对象循环引用。看下面的例子

ParentClass
VB code
Option ExplicitPrivate m_Data(1023)Public Child As ChildClass 

热点排行