2017南岗区教育局局长:补充:VB(自我嵌套)(堆栈空间溢出)问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 20:50:59
如下程序
Sub bbb()
If page < 10000 Then (10000是个假设,可能很大)
page = page + 1
Call bbb (在此出我一直在调用本身(自我嵌套))
end if
end sub

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

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

Sub bbb() 过程里面有很多内容。包括插入数据等,我这个软件需要一直循环此过程。。。。。

(Sub bbb() 里有很多代码,我需要一直循环此过程。。。所以用了嵌套,但执行久了,就堆栈空间溢出)

Option Explicit
Dim page As Integer
Sub bbb()
If page < 6229 Then'这里page超过就出现"堆栈空间溢出" 错误
page = page + 1
Call bbb
End If
Text1 = page
End Sub

Private Sub Command1_Click()
tempid = 1
Call bbb
End Sub

何必要这样呢。FOR、DO 循环不就解决了吗?