MFC VC++ アプリケーション Tip集 サイト


8章.CDocumentクラス
   ドキュメントクラス


8−1.ファイルサイズ=0のファイルを指定するとSerializeが実行されない



 読む必要が無いと判断されて呼ばれないようです。
 エラー等にするにはOnOpenDocument等で独自に処理するしかないようです。

例)
BOOL CHMXDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
        CFileStatus cfs;

        if(CFile::GetStatus(lpszPathName,cfs)
        && cfs.m_size==0)
        {//サイズが0だとSerializeが呼ばれないのでチェックします。
                AfxMessageBox("ファイルの中身がありません。(;_;)",MB_OK|MB_ICONSTOP);
                return FALSE;
        }

        if (!CDocument::OnOpenDocument(lpszPathName))
                return FALSE;

        // TODO: この位置に固有の作成用コードを追加してください

        return TRUE;
}



Top へ戻る