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