CEditViewのシリアライズについて

[戻る]
Hiro 2002/10/07(月) 18:35:20
MDIの簡単なテキストエディタを作成してるのですが、SerializeRawを使った保存や
読み込みができません。
デバッグで追跡してみたところ、LockBuffer等のハンドル(だと思うのですが)
にかかわる部分で誤ったデータが渡されているようです。
具体的には、

半角文字が最初にある場合は最初の1バイトのみ。
全角文字が最初にある場合は全角文字が終わるまで。

しか渡されないようです。
また読み込みでは完全に文字化けしてしまいます。

ドキュメントテンプレートの作成で

CMultiDocTemplate(IDR_MemoTYPE,
        RUNTIME_CLASS(CMemoDoc),
        RUNTIME_CLASS(CChildFrame),
        RUNTIME_CLASS(CMyMemoView));

としサンプルのmultipadとほぼ同じコードにしても直りませんでした。

どこに問題があるのかまったくわからず困っています、よろしくお願いします。

Windows XP
VC++ .NET

Hiro 2002/10/09(水) 15:13:26
[[解決]]
自己レスです。

他の掲示板の過去ログで原因と解決方法がみつかりまして、

プログラムにマニフェストをつけてXP のビジュアルスタイルを使用して
CEditViewを使うと正常に動かない、

との事で、リソースエディタで、RT_MANIFEST配下にあるリソースを削除する
ことで正常に動くようになりました。
なぜそうなるのかまでは解りませんでしたが一応解決しました。

古いスレッドには追加発言できません。