永发信息网

VB 提示“堆栈空间溢出”什么是意思

答案:2  悬赏:70  手机版
解决时间 2021-03-22 02:28
VB 提示“堆栈空间溢出”什么是意思
最佳答案
堆栈空间溢出(错误 28)
堆栈是内存的一个工作区,会随着程序运行的需要而增长或缩小。此错误有以下的原因和解决方法:
有太多活动的 Function、Sub 或 Property 过程调用。
检查过程的嵌套是否太深,尤其是递归过程,即自己调用自己的过程。确保递归能终止,使用 “调用” 对话框来查看活动的过程 (在堆栈上)。
本地变量需要更多可用的本地变量空间。
试着在模块级别中声明某些变量。可以在静态过程,即在 Property、Sub 或 Function 关键字前加上 Static,声明所有变量,或可以在过程内使用 Static 语句来声明各个 Static 变量。
有太多定长字符串。
定长字符串在过程中可快速访问,比可变长度字符串使用更多堆栈空间,因为字符串数据本身要放在堆栈上。可试着重新定义一些定长字符串成为变长字符串。当声明一变长字符串时,只有字符串描述符 (非数据本身) 会放在堆栈上。可以在没有堆栈空间的模块层次上定义字符串。在模块层次申明变量是缺省为 Public,所以在模块上所有过程皆可见到字符串。
DoEvents 函数调用的嵌套太多。
利用“调用” 对话框,在堆栈上查看正在活动的过程。
代码引起了事件层叠。
所谓事件层叠就是引起一个事件,此事件会调用已在堆栈上的事件过程。事件层叠和不能中止的递归过程调用是相似的,但不太明显,因为是由 Visual Basic 所调用,而不是在代码中调用。使用“调用” 对话框来查看那些正在活动的过程 (在堆栈上)。
显示“调用” 对话框,在“调试” 窗口中选取过程框右边的“调用”按钮或选择“调用” 命令。
全部回答
和内存没有关系,主要是你一直往变量里写数据,数据量超过变量范围,导致溢出。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
人没有舌头会死吗?
吉祥花屋我想知道这个在什么地方
我喜欢我们班的一个男生,我想不要喜欢他了,
阴阳师有了妖刀姬的皮肤没有妖刀姬怎么办
我是一个工人(副工段长)上月我们班的工资是我
我要求女孩的名字和含义
诺基亚E63 IMEI:353397044657024 CODE:058248
关于如图国家的叙述不正确的是A.世界占有热带
一个人真的到了绝望是什么感觉?
英驰桌球娱乐会馆NO.1怎么去啊,有知道地址的
教职工中级职称是什么,建筑中级职称申报条件
熬肉皮冻的时候有油脂影响大吗
爱情公寓4第18集圣诞节悠悠得了什么奖才要炒
单选题下列各省区中,人口密度较小的是A.江西
减肥,长期不吃主食对身体有害吗?
推荐资讯
单选题对《我为什么而活着》一文评述不当的一
油性皮肤可以做韩式半永久纹眉吗
如图,在梯形ABCD中,AD∥BC,E为BC的中点,B
君威15款1.6T领先怎么设置锁车喇叭声音?请问
如何除去凉面中的碱味
999汽车一站式服务中心地址在什么地方,想过
周师傅山药芥芥油烙饼前旗总店在哪里啊,我有
.中学生所喜爱的节日调查最近我国的教育专家
单选题Marialikesfruit,________shedoesn
4个月大狗狗大便很粗很黄很长有点臭是什么情
右眼视力sc 6.50 -3.5是什么程度
乘飞机带烟最多可以带多少?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?