ちょっと前になりますが、au2010さんのところで気になる話を見つけました。
Windows7でDelphi7のプログラムを動かす時の注意点 - au2010の日記
実際にLCMapString (ja)の動作を確認してみると、Windows 7で互換モードを設定(プログラムのショートカットの"互換性"タブで"互換モード"にチェックオン)すると、LCMapStringのcchDestを0にしたときだけ戻値がA版(LCMapStringA)であっても(W版と同様の)文字数で返ってくる、という不具合があります(cchDestが非0ならば戻値は仕様通り)。いろいろ調べてみましたがプログラム側から互換モードの指定状況を知る方法はなく、結果が既知の変換動作を行わせて、その戻値で判定するしかないようです。ということで半角→全角変換と全角→半角変換のコードを修正しました。
2011年5月19日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿