▼ なすこじさん
> WinXPでは「メモリが"read"になることはできませんでした。」
> Win2kでは「エラーが発生したため、sakuraW.exeを終了します。プログラムをもう一度開始する必要があります。」
僕のところ(XP)では、いろいろいじっているうちに、何度か
「sakuraW.exe の 0x004517c2 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x00f89000 を読み込み中にアクセス違反が発生しました。」
のようなエラーで落ちました。
エラーアドレス0x004517c2は、ソースでは CTextDrawer.cpp(119) の場所でした。
CTextDrawer::DispText()関数の中で、ExtTextOutW_AnyBuild()呼び出しの直前です。
// サロゲートペア対策 2008/7/5 Uchi
if (pDrawDxArray[nDrawLength] == 0) {
004517C2 cmp dword ptr [ecx+edx*4],0
004517C6 jne CTextDrawer::DispText+17Fh (4517C9h)
nDrawLength++;
004517C8 inc edx
}
//描画
::ExtTextOutW_AnyBuild(
※上記は混合モード(逆アセンブル)での表示