我的一个VC应用程序,它是多文档的,刚开始没有子框架窗口的,我第一次打开文件没问题,但我关掉这文档后,又回到没子框架的状态,这时我再打开文件,就出现了崩溃。我调试它,在CMyApp::OnFileOpen()中设了一个断点,可程序在断点之前就崩溃了,请问MFC在OnFileOpen之前是调用哪个函数啊?

解决方案 »

  1.   

    Sorry,我发现问题出自OnFileOpen()里的filedlg.DoModal(),那么请问大侠为什么在关掉所有文档后,再次打开一个文件,DoModal会出问题呢?
      

  2.   

    DoModal出问题与“关掉所有文档后,再次打开一个文件”好像没有必然的关系吧?
      

  3.   

    更进一步,是DoModal()中的::GetOpenFileName(&m_ofn)出现了问题,那请问这是怎么回事?
      

  4.   

    问题是如果我不关掉所有文档,那么我打开任意文档都没问题,但一旦我关掉所有文档再打开一个文档的话,就崩溃了,调试问题就在DoModal()中的::GetOpenFileName(&m_ofn)上,why?
      

  5.   

    GetOpenFileName(&m_ofn)
    其中的m_ofn为空
      

  6.   

    把filedlg.DoModal()的调用放到MDIChildFrame的OnFileOpen()试试。
    我也不知是什么原因,只是用这种办法对付的,实在是比较郁闷。
      

  7.   

    问题出在DoModal()中,那么DoModal与什么相关呢?为什么我调试,在GetOpenFileName(&m_ofn)处显示的是“内存分配访问无效”呢?why?