满载了文件打开函数,第一次可以打开,第二次弹出错了,不知道是哪里内存溢出了

重载了文件打开函数,第一次可以打开,第二次弹出错了,不知道是哪里内存溢出了
BOOL CTest14Doc::OnOpenDocument(LPCTSTR lpszPathName) 
{
//if (!CDocument::OnOpenDocument(lpszPathName))
// return FALSE;
DeleteContents();
g_pView->Invalidate();
FILE *dxf = fopen(lpszPathName,"r");
if(dxf==NULL) 
{
TRACE(_T("文件打开失败!"));
return FALSE;
}
if(!OpenDoc(dxf))
{
TRACE(_T("打开文件失败!"));
return FALSE;
}

// TODO: Add your specialized creation code here
return TRUE;
}


满载了文件打开函数,第一次可以打开,第二次弹出错了,不知道是哪里内存溢出了满载了文件打开函数,第一次可以打开,第二次弹出错了,不知道是哪里内存溢出了
调试运行后,第二次按打开报错的地方是红色标记的,要怎么改啊。
int CFileDialog::DoModal()
{
ASSERT_VALID(this);
ASSERT(m_ofn.Flags & OFN_ENABLEHOOK);
ASSERT(m_ofn.lpfnHook != NULL); // can still be a user hook

// zero out the file buffer for consistent parsing later
ASSERT(AfxIsValidAddress(m_ofn.lpstrFile, m_ofn.nMaxFile));
DWORD nOffset = lstrlen(m_ofn.lpstrFile)+1;
ASSERT(nOffset <= m_ofn.nMaxFile); memset(m_ofn.lpstrFile+nOffset, 0, (m_ofn.nMaxFile-nOffset)*sizeof(TCHAR));

------解决方案--------------------
文件打开后,没有关闭吧
------解决方案--------------------
FILE *dxf = fopen(lpszPathName,"r");

if(!OpenDoc(dxf)) //入参错误啊,你下面是CString类型的,dxf不是啊

BOOL CTest14Doc::OpenDoc(CString PathName)