更新:2007 年 11 月
堆栈是内存的一个工作区,它可根据执行程序的要求动态缩放。已超出其限制范围。
更正此错误
检查过程的嵌套是否太多。
确保递归过程可正确终止。
如果本地变量所需的本地变量空间多于可用空间,请尝试在模块级声明一些变量。还可以通过在 Property、Sub 或 Function 关键字前使用 Static 将过程中的所有变量声明为静态。或者,使用 Static 语句将过程中的个别变量声明为静态变量。
将某些固定长度字符串重新定义为可变长度字符串,因为固定长度字符串比可变长度字符串使用的堆栈空间多。还可以在模块级定义字符串,这种字符串不需要堆栈空间。
使用 Calls 对话框查看堆栈中处于活动状态的过程,检查嵌套的 DoEvents 函数调用的数量。
若事件调用某个已在堆栈中的事件过程,则确保未通过触发该事件导致“事件级联”。事件级联与未终止的递归过程调用相似,但是它不明显,因为该调用是通过 Visual Basic 发出的,不是代码中的显式调用。使用 Calls对话框查看堆栈中有哪些活动的过程。