C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
掲示板トップ
C# と VB.NET のサンプル
新規作成
利用方法/規約
ツリー表示
トピック表示
ランキング
記事検索
過去ログ
■103930
/ 2階層)
FormClosingでセーブするが稀に最後まで書込まれない
□投稿者/ 魔界の仮面弁士
(3911回)-(2026/05/05(Tue) 18:53:27)
■
No103929
(魔界の仮面弁士) に追記
> なお、Close() メソッドは内部で Flush() を呼びますが、
> これは Flush(true) の呼び出しを含みません。
> そのため、Flush(true) は明示的な呼び出しが必要です。
>
https://learn.microsoft.com/ja-jp/dotnet/api/system.io.filestream.flush?WT.mc_id=DT-MVP-8907&view=netframework-4.8.1
>
https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/IO/StreamWriter.cs#L195
失礼しました、上記に記載の github.com/dotnet は「.NET」のソースでしたね。
それに、FileStream.Flush を紹介するべきところで、StreamWriter.Flush ソースへのリンクになってしまっていました。
「.NET Framework」の FileStream.Flush のソースはこっち。
https://github.com/microsoft/referencesource/blob/main/mscorlib/system/io/filestream.cs#L1322
「public virtual void Flush(Boolean flushToDisk)」において、
引数が true の時に FlushOSBuffer(); が呼ばれているけれど、
Close 等から呼ばれているのは、Flush(false) であることが分かります。
編集キー/
編集
前の記事
(元になった記事)
次の記事
(この記事の返信)
←Re[1]: FormClosingでセーブするが稀に最後まで書込まれない
/魔界の仮面弁士
→Re[3]: FormClosingでセーブするが稀に最後まで書込まれない
/Tom
上記関連ツリー
FormClosingでセーブするが稀に最後まで書込まれない
/ Tom
(26/05/05(Tue) 11:26)
#103927
└
Re[1]: FormClosingでセーブするが稀に最後まで書込まれない
/ 魔界の仮面弁士
(26/05/05(Tue) 17:57)
#103929
└
FormClosingでセーブするが稀に最後まで書込まれない
/ 魔界の仮面弁士
(26/05/05(Tue) 18:53)
#103930
←Now
└
Re[3]: FormClosingでセーブするが稀に最後まで書込まれない
/ Tom
(26/05/06(Wed) 13:09)
#103931
└
Re[4]: FormClosingでセーブするが稀に最後まで書込まれない
/ Tom
(26/05/13(Wed) 20:50)
#103933
└
Re[5]: FormClosingでセーブするが稀に最後まで書込まれない
/ Azulean
(26/05/13(Wed) 22:06)
#103934
└
Re[6]: FormClosingでセーブするが稀に最後まで書込まれない
/ 魔界の仮面弁士
(26/05/14(Thu) 11:41)
#103935
└
Re[7]: FormClosingでセーブするが稀に最後まで書込まれない
/ Tom
(26/05/16(Sat) 12:54)
#103936
上記ツリーを一括表示
/
上記ツリーをトピック表示
上記の記事へ返信
入力内容にタグは利用できません。
他人を中傷する記事は管理者の判断で予告無く削除されます。
半角カナは使用しないでください。文字化けの原因になります。
名前、コメントは必須記入項目です。記入漏れはエラーになります。
入力内容の一部は、次回投稿時の手間を省くためブラウザに記録されます。
URL は自動的にリンクされます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
名前
(*必須)
E-Mail (任意)
Web サイト (任意)
投稿モード
通常モード
図表モード (ソースコードを貼る場合はこちらを使用)
本文
(質問の場合は、開発環境・使用言語のバージョンなどを最初に書いてください)
■No103930 (魔界の仮面弁士 さん) に返信 > ■No103929 (魔界の仮面弁士) に追記 >>なお、Close() メソッドは内部で Flush() を呼びますが、 >>これは Flush(true) の呼び出しを含みません。 >>そのため、Flush(true) は明示的な呼び出しが必要です。 >>https://learn.microsoft.com/ja-jp/dotnet/api/system.io.filestream.flush?WT.mc_id=DT-MVP-8907&view=netframework-4.8.1 >>https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/IO/StreamWriter.cs#L195 > > 失礼しました、上記に記載の github.com/dotnet は「.NET」のソースでしたね。 > それに、FileStream.Flush を紹介するべきところで、StreamWriter.Flush ソースへのリンクになってしまっていました。 > > 「.NET Framework」の FileStream.Flush のソースはこっち。 > https://github.com/microsoft/referencesource/blob/main/mscorlib/system/io/filestream.cs#L1322 > > 「public virtual void Flush(Boolean flushToDisk)」において、 > 引数が true の時に FlushOSBuffer(); が呼ばれているけれど、 > Close 等から呼ばれているのは、Flush(false) であることが分かります。
編集キー
自分の投稿を編集する時に必要です
(半角8文字以内)
解決済み
/
解決したらチェックしておきましょう。
プレビュー/
管理者用
-
Child Tree
-