我想在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();     
}
else
return 0L;
          return;
}

解决方案 »

  1.   

    CFileDialog my(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_FILEMUSTEXIST,"ALL Files (*.*)|*.*||");
      

  2.   

    ::OnCreateDocument(WPARAM wParam, LPARAM lParam)是创建文档函数,如果只是想获取对话框的变量等信息,建议换个函数
      

  3.   

    ::OnCreateDocument(WPARAM wParam, LPARAM lParam)
    主程序还没起来你就打开文件对话框?这就像你还没开机就想运行程序一个道理。
      

  4.   

    CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_FILEMUSTEXIST,"ALL Files (*.*)|*.*||"); CString str;
    if (dlg.DoModal() == IDOK)
    {
    str=dlg.GetPathName();//获得文件路径名
    SetDlgItemText(IDC_EDIT1,str);
    }