我在DoModal生成的对话框基础上再生成一个DoModal对话框调试的时候报错
我用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 )
{
}