我在运行VB 6.0项目时出现堆栈空间错误。
据我所知,堆栈空间不足意味着不断将数据推送到堆栈上,当它充满时,堆栈没有更多的空间。
任何人都可以帮忙解决如何修复此错误?
在以下情形中出现此问题:我的代码中有大约20个属性获取和设置语句,当我的代码尝试分配值时,会出现此问题(比如第9个属性)
Public Property Get Language() As String
Language = m_strLanguage
End Property
Public Property Let Language(ByVal strLanguage As String)
m_strLanguage = strLanguage
End Property
我的代码进入递归循环。
你有一个导致递归循环的逻辑错误吗?你是否回顾了调用堆栈,看看为什么会发生递归循环?
谢谢你的建议。你是对的 。我已经解决了问题,现在代码运行正常。
问题在于如何设置Let属性:我已经传递了错误的变量,现在已经更正了。
Public Property Let Language(ByVal strLanguage As String)
Language = strLanguage
End Property
这使代码进入递归循环,
正确的代码是:
Public Property Let Language(ByVal strLanguage As String)
m_strLanguage= strLanguage
End Property