我想在OnCreateDocument中实现打开文件,弹出文件选择对话框,但是每次运行到这里都要出错,说是“Unhandled exception in xxx.exe:0xC0000005 Access Violation”,这是什么原因呢?要获取一些其他的什么指针值吗?我是刚学MFC,很多东西都不懂,望高手赐教!谢谢!这是代码:LRESULT CMyDoc::OnCreateDocument(WPARAM wParam, LPARAM lParam) {// TODO: Add your command handler code here CFileDialog my(TRUE);CString FileTitle;CString FileName;if(my.DoModal()==IDOK) {FileTitle=my.GetFileTitle(); FileName=my.GetFileName(); }elsereturn 0L; return;}
不是这里的错误吧。。。我试过没错。。。 字串9
网友解答:使用了空指针~ 字串9
网友解答:CFileDialog my(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_FILEMUSTEXIST,"ALL Files (*.*)|*.*||");
字串3
网友解答:up
自己设断点啊
字串6
网友解答:好的,那我再试试。
::OnCreateDocument(WPARAM wParam, LPARAM lParam)是创建文档函数,如果只是想获取对话框的变量等信息,建议换个函数 字串4
网友解答:::OnCreateDocument(WPARAM wParam, LPARAM lParam)主程序还没起来你就打开文件对话框?这就像你还没开机就想运行程序一个道理。
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_FILEMUSTEXIST,"ALL Files (*.*)|*.*||");CString str;if (dlg.DoModal() == IDOK){str=dlg.GetPathName();//获得文件路径名SetDlgItemText(IDC_EDIT1,str);} 字串3
网友解答:我又试了,确实不是这里的错误,问题出在类之间的指针没有传递好,谢谢各位了! 字串8
网友解答: