Example of CDocument::ReleaseFile for MFC

Example of CDocument::ReleaseFile for MFC

本文关键字:for MFC ReleaseFile Example CDocument of      更新时间:2023-10-16

如何在 MFC 中使用CDocument::ReleaseFile

在Microsoft文档中,只有成员函数,但没有示例。

为 MFC 文档类型创建缩略图提取器对象

// load content of file, code taken from MFC OnOpenDocument and modified
CFileException fe;
CFile* pFile = m_pDoc->GetFile(sFileName,    CFile::modeRead, &fe);
if (pFile == NULL)
return FALSE;
m_pDoc->DeleteContents();
CArchive loadArchive(pFile, CArchive::load | CArchive::bNoFlushOnDelete);
loadArchive.m_pDocument = m_pDoc;
loadArchive.m_bForceFlat = FALSE;
try
{
if (pFile->GetLength() != 0)
m_pDoc->Serialize(loadArchive);     // load me
loadArchive.Close();
m_pDoc->ReleaseFile(pFile, FALSE);
}
catch(CException *e)
{
//e->ReportError();
m_pDoc->ReleaseFile(pFile, TRUE);
m_pDoc->DeleteContents();   // remove failed contents
e->Delete();
return FALSE;
}
return TRUE;
//delete pDoc;