堆栈是内存的工作区,它随执行程序的需求动态地增长和收缩。 已超出限制。
更正此错误
检查确保过程未嵌套太深。
请确保递归过程正确终止。
如果本地变量需要的本地变量空间超过可用空间,请尝试在模块级别声明一些变量。 还可以在
Property
、Sub
或Function
关键字前面加Static
来声明过程中的所有变量。 或者,可以使用Static
语句在过程中声明单个静态变量。将一些固定长度的字符串重新定义为可变长度字符串,因为固定长度字符串使用的堆栈空间多于可变长度字符串。 还可以在模块级别定义不需要堆栈空间的字符串。
通过使用
Calls
对话框查看在堆栈上处于活动状态的过程,检查嵌套DoEvents
函数调用的数量。请确保通过触发调用堆栈上已有的事件过程的事件,不会导致“事件级联”。 事件级联类似于未终止的递归过程调用,但不太明显,因为调用是通过 Visual Basic 而不是在代码中显式调用来进行的。 使用
Calls
对话框可以查看在堆栈上处于活动状态的过程。