控件变量类型声明过多,竟然报错

gaosonglove 2010-07-05 09:20:12
程序竟然在初始化的报错,提示在0x008cb137引起的异常0xC00000FD:StatckOverflow,在chkstk.asm处中断,经过测试发现子窗口在初始化的时候按钮控件变量类型声明过多引起的,总共声明了有13个CButtonST类型public变量.单步调试发现程序在winmian之后报错,没有经过InitInstance(),InitDialog()这些函数。我需要这些变量和控件绑定,可出现这报错是第一次遇到。将来在子窗口还要声明很多变量,如何解决此问题?
请教高手,谢谢
...全文
113 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaosonglove 2010-07-08
  • 打赏
  • 举报
回复
感谢楼上几位热心解答.
问题没查出来。不过换了种思路就好了,解决了,散分.
iamshuke 2010-07-05
  • 打赏
  • 举报
回复
才10几个,不可能会出现这种情况。你新建一个工程,界面上放几十个按钮,一个个都给它们绑定变量试试,不应该会出错,应该是别的原因。
向立天 2010-07-05
  • 打赏
  • 举报
回复
你写的是MFC程序么
蒋晟 2010-07-05
  • 打赏
  • 举报
回复
把成员变量改为指针类型的,用到的时候再new出来吧
gaosonglove 2010-07-05
  • 打赏
  • 举报
回复
自己顶
gaosonglove 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xianglitian 的回复:]
如果说程序到winmian就报错那还没创建对话框呢
也就是说和你的按钮没有关系啊
建议操作:
1、报错后看看调用堆栈定位问题代码
2、先注释掉你的按钮相关的代码看看还有没有问题
[/Quote]
注释掉按纽相关的代码 程序启动是正常的,
zhanghaaaa 2010-07-05
  • 打赏
  • 举报
回复
你用动态创建的应该会好点儿
gaosonglove 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xyzhaopeng 的回复:]
引用 3 楼 xyzhaopeng 的回复:

找找看有没有死循环或者那个函数中定义大数组。

这里应该是看看是不是那个函数死递归调用.
[/Quote]
函数没有死递归调用。如果有死递归调用的话,必然是经过InitDialog()函数调用之后,才调用此函数。可是报错的时候,InitDialog都没有调用,也就是说程序启动时对话框并没有初始化
向立天 2010-07-05
  • 打赏
  • 举报
回复
如果说程序到winmian就报错那还没创建对话框呢
也就是说和你的按钮没有关系啊
建议操作:
1、报错后看看调用堆栈定位问题代码
2、先注释掉你的按钮相关的代码看看还有没有问题
gaosonglove 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xyzhaopeng 的回复:]
找找看有没有死循环或者那个函数中定义大数组。
[/Quote]
没有死循环,调试出来是由于这些变量声明过多引起的.我把这些变量大部分注释掉,就没有这错误了.
cdsnpeter 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xyzhaopeng 的回复:]

找找看有没有死循环或者那个函数中定义大数组。
[/Quote]
这里应该是看看是不是那个函数死递归调用.
gaosonglove 2010-07-05
  • 打赏
  • 举报
回复
自己顶
Eleven 2010-07-05
  • 打赏
  • 举报
回复
不会是有什么函数自己调用自己吧。。。
cdsnpeter 2010-07-05
  • 打赏
  • 举报
回复
找找看有没有死循环或者那个函数中定义大数组。
gaosonglove 2010-07-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xyzhaopeng 的回复:]
??不大可能吧。。你看看sizeof(CButtonST)多大?是否你自己派生了CButtonST,然后又大数组?
[/Quote]
回楼上,不仅仅是CButton类型,在CButton类型也会产生这样的错误.这问题比较怪。我查了下资料,程序在初始化的时候也初始化public类型变量。会 不会是堆栈过小引起的?
cdsnpeter 2010-07-05
  • 打赏
  • 举报
回复
??不大可能吧。。你看看sizeof(CButtonST)多大?是否你自己派生了CButtonST,然后又大数组?
zxdlms 2010-07-05
  • 打赏
  • 举报
回复
我也用过13个CButtonST,没有出现过错误。
而且才定义了10几个控件变量就出问题,VC也不要混了。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧