馬渕です。
桜井寛明 wrote in [vcpp 00046738] バックアップファイルを作るタイミング:
>ここで、ファイルを保存したときに、同じ内容のバックアップファイルを保存
>したいと考え次のようにコーディングしました。
>
>void CSampleDoc::Serialize(CArchive& ar)
>{
> if (ar.IsStoring())
> {
> ar << *******;
>
> CopyFile(SorceDataFileName , DistinationDataFileName , FALSE)
>
> }
>........
>
>しかしこれでは、最新のファイルではなく、1世代前のファイルが
>コピーされてしまいます。
Serialize() の終了した時点では、書き込んだファイルはまだ閉じられて
いないため、意図したバックアップは成功しません。
CSampleDoc の OnSaveDocument() をオーバーライドして下さい。
BOOL CSampleDoc::OnSaveDocument( LPCTSTR lpszPathName )
{
BOOL b = CDocument::OnSaveDocument(lpszPathName);
CopyFile(....); // ここでバックアップ処理
return b;
}
====== W ====== I ====== N ====== G ======
World-wide InterNet Gokaisho
==============================================
馬渕 茂 m...@rom.allnet.ne.jp
http://www.wing.gr.jp/
WING Server Address:
telnet wing.gr.jp 1515 (English)
telnet wing.gr.jp 2525 (Japanese)