CMyApp::InitInstance()里面
先CMyDlg dlg;
创建了dlg,但这时不想DoModal了,想要退出,于是我就return FALSE;这时程序就会出错.但是如果在CMyDlg dlg;之前我就用return FALSE;这样就能成功退出.但现在一定要先CMyDlg dlg;那这样的话该如何不DoModal也成功退出?谢谢!
先CMyDlg dlg;
创建了dlg,但这时不想DoModal了,想要退出,于是我就return FALSE;这时程序就会出错.但是如果在CMyDlg dlg;之前我就用return FALSE;这样就能成功退出.但现在一定要先CMyDlg dlg;那这样的话该如何不DoModal也成功退出?谢谢!
解决方案 »
- mfc连接手机(andriod)
- 请问怎么办?cout<<pszCurDir<<"\n";cout让它输出字串,它把指针的地址给输出来了!
- 请问用过RTC SDK开发的同志
- 小问题,请指教!关于字符!
- 一个跟VB有关的问题,VB中API函数的声明和回调函数的实现,up有分,解决另有分,千万火急!!!!!!!!!
- 请高手指点,如何将winMain封装成自己定义的CApp类呢?
- 请教一个关于dll传参数的问题?????
- 奇怪啊?!
- 如何在mfc上创建的Tab页上添加其他通用控件?
- 求控件大小随窗口大小变化的方法
- 请问用VC++.Net2003使用MFC如何建立右键菜单、启动画面等?
- 考完了!解放了!我挥一挥手,再见,xx不如的考研生活....
m_pMainWnd = &dlg;
将dlg的指针赋值给主框架了,在这个语句之前return就没有问题如果一定要在这个语句之后,而又在DoModal之前,只需要在return前增加语句:
m_pMainWnd = NULL;
就可以了
就这句
m_pMainWnd = &dlg;
语句CMyDlg dlg;定义了一个对象,该对象是可以自己销毁的,但是将它的指针赋值给m_pMainWnd后,如果直接return的话,dlg被销毁,但是其指针还保留在m_pMainWnd中,是一个野指针了,但是系统可能还会用它做一些清理工作,也就出错了,将m_pMainWnd赋值为NULL后,就不存在野指针的问题了