西布朗维奇莱斯特腾讯:VB(自我嵌套)(堆栈空间溢出)问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/08 14:55:34
如下程序
Sub bbb()
If tempid = 1 Then
page = page + 1
Call bbb (在此出我一直在调用本身(自我嵌套))
end if
end sub

程序运行大概半个小时,出现"堆栈空间溢出" 错误

请问在此程序的本意上,如何改进可以避免次错误

这跟递归差不多,你总得有机会让他停下来啊,不然是死循环

你没有释放内存中的环境变量,程序循环的次数多了,就会出现这样的清楚况。你需要释放以下内存中的环境变量。

Sub bbb()
Do While tempid = 1
page = page + 1
Loop
end sub