我在DoModal生成的对话框基础上再生成一个DoModal对话框调试的时候报错

DarwinML 2007-09-01 05:31:02
我用vs2007的向导生成一个对话框在这个对话框上面我动态生成了很多控件的实例。其中一个为button,点击这个button会再次调用DoModal,就是下面这段调用。我直接执行编译生成的程序并没有问题,但是如果我按F5,debug的时候当code走到“if( fileDlg.DoModal ()==IDOK )”后会报错说“在0x5d18da66处为处理的异常:0xc0000005:读取位置0x001a4000时发生访问冲突”。然后显示wincore.cpp里面的lResult = CallWindowProc(oldWndProc, hWnd, nMsg, wParam, lParam);但是我看这个位置的任何参数地址或值都没有上面报错的内容。
而且奇怪的是,直接执行程序没有问题,但是用f5调试就会出错。这是为什么啊?
// Create an Open dialog; the default file name extension is ".my".
CFileDialog fileDlg (FALSE, "profile", "*.prof",
OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);

// Display the file dialog. When user clicks OK, fileDlg.DoModal()
// returns IDOK.
if( fileDlg.DoModal ()==IDOK )
{
}
...全文
261 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
DarwinML 2007-09-01
  • 打赏
  • 举报
回复
是szFilters的初始化问题如果这样初始化就没有问题:
char szFilters[]=
"Profile Files (*.prof)|*.prof|All Files (*.*)|*.*||";
这样就有问题,请问是为什么?
char szFilters[]=
"Profile Files (*.prof)|*.prof||";
liuxiuk 2007-09-01
  • 打赏
  • 举报
回复
szFilters 怎么初始化的.?
蒋晟 2007-09-01
  • 打赏
  • 举报
回复
直接用Windows API看看
检查是否有访问越界
DarwinML 2007-09-01
  • 打赏
  • 举报
回复
char szFilters[]="Profile Files (*.prof)|*.prof||";
"CFileDialog 使用的问题, 注意参数"
有哪些注意的?我觉得最有可能错的地方是用了this.但是我不知道换成什么比较合适,我用null也不行。
我的调用关系是这样的,我自己做了一个button的类继承cbutton,然后点击事件会使他调用一个全局函数。然后我在这个全局函数里面调用fileDlg.DoModal ()或者在全局函数调用CHopaDlg(这个就是我的应用程序最开始初始化出来的对话框)里面的函数再调用fileDlg.DoModal ()结果都是一样。都是程序运行没有问题,用f5 debug就报错。
DentistryDoctor 2007-09-01
  • 打赏
  • 举报
回复
call stack?
菜牛 2007-09-01
  • 打赏
  • 举报
回复
szFilters怎么定义的?
dyw 2007-09-01
  • 打赏
  • 举报
回复
跟踪到
fileDlg.DoModal ()
里看看
Yofoo 2007-09-01
  • 打赏
  • 举报
回复
CFileDialog 使用的问题, 注意参数
jerry 2007-09-01
  • 打赏
  • 举报
回复
可能是你的BUTTON的点击消息响应函数说明有问题

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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