■93971 / inTopicNo.7) |
Re[4]: RichTextBoxでファイル保存できない文字 |
□投稿者/ otu (4回)-(2020/02/27(Thu) 23:04:03)
|
■No93969 (魔界の仮面弁士 さん) に返信
> 手元の Win10 (v1909) で REPLACEMENT CHARACTER を保存させたところ、 > 下記の動作となりました。 > > 「DoNotLoadLatestRichEditControl 未設定」 > .NET 2.0〜4.6.2 では保存されたが、 > .NET 4.7〜4.8 では保存されない > > 「DoNotLoadLatestRichEditControl = false」 > .NET 2.0〜4.8 いずれも保存された > > 「DoNotLoadLatestRichEditControl = true」 > .NET 2.0〜3.5 では保存されたが、 > .NET 4〜4.8 では保存されない
実験して頂き、感謝します。 自分もPCにインストールされているFrameworkで4.6以上(4.6 4.6.1 4.7.2 4.8の4種類)について実験してみました。 DoNotLoadLatestRichEditControlがtrue、false、未設定の場合と、その時に使用されていたRichTextBoxのクラス名を調査しました。
以下が結果です。○は保存された。×はNGです。 魔界の仮面弁士さんと未設定の場合は同じ結果となり、true,falseの場合は異なる結果となりました。 RichEdit20Wの時がOKで、以下によると、おそらくRichEditのVersion3.0か3.1なのでしょう。 https://stackoverflow.com/questions/32397734/get-version-of-rich-edit-library
いずれにしても今回の件で以下の事がわかりました。 (1)RichTextBoxはVersion3.1以下(riched20.dll)と4.1以上(msftedit.dll)で異なる挙動をする。 (2)上記の切替はDoNotLoadLatestRichEditControlスイッチで切替できる。(.NET CoreはNG)
Win7 .Net4.8、4.7.2 true(○):WindowsForms10.RichEdit20W.app.0.141b42a_r15_ad1 false(×):WindowsForms10.RICHEDIT50W.app.0.141b42a_r15_ad1 未設定(×):WindowsForms10.RICHEDIT50W.app.0.141b42a_r15_ad1
Win7 .Net4.6.1、4.6 true(○):WindowsForms10.RichEdit20W.app.0.141b42a_r15_ad1 false(×):WindowsForms10.RICHEDIT50W.app.0.141b42a_r15_ad1 未設定(○):WindowsForms10.RichEdit20W.app.0.141b42a_r15_ad1
どうも、ありがとうございました。 自分の中で納得できたので、これにて解決とさせていただきます。
|
解決済み
|