CString 越界

caddor2011 2011-11-22 01:44:19
问题出现在:


bool IsLocked() const throw()
{
return nRefs < 0;
}




调用栈发现
void CMainFrame::SetMenuFunction(CString const& str)
{
strFunction=str;
}

pMainFrame->SetMenuFunction(tmpStrFunction); //传给MainFrame

结果导致程序挂了。。。。

原因我大概猜测如下:

在登录对话框中 调用
SetMenuFunction, 而我的程序流程是: 登录后,才有 主框架,也就说,很可能是我 过早调用这个函数导致的。。。!!


如果是这样的话,怎么办??

我必须传一个值 给主框架,在主框架 没有创建之前!!!

但是CMainFrame这个框架有 似有成员 strFunction,又需要传值??


...全文
93 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
luciferisnotsatan 2011-11-22
  • 打赏
  • 举报
回复
代码里没见什么地方会让CString 越界。而且,正常使用CString的话,不会有越界问题。
bazzi2011 2011-11-22
  • 打赏
  • 举报
回复
你的描述太含糊了,从你的描述中可以看出你是把登陆对话框写在了菜单中吧

我的建议是登陆对话框单独写一个对话框类,登陆后再弹出主框架,效果相同,也省下了相互冲突的问题。

64,663

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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