Windows 11 22H2 の新しいMicrosoft IME によって既存のVCL アプリケーションがクラッシュする

提供: Support
移動先: 案内検索

対象となるWindowsのバージョン

  • Windows 11 (22H2)

問題

Windows 11の最新バージョン(22H2)では、新しいMicrosoft IMEに対していくつかの機能変更が加えられており、IMEの変更によって、古いバージョンまでさかのぼるとDelphi 7 から最新リリースの RAD Studio 11.2 を含む既存の VCL アプリケーションに大きな影響を与え、アプリケーションがクラッシュする症状が報告されております。


アプリケーションがクラッシュした際、デバッガでは以下のようなエラーメッセージが表示される場合があります。


32ビットの場合:

プロジェクト Project1.exe は例外クラス $C0000090 (メッセージ 'floating point invalid operation at 0x6de1a449')を送出しました。

64ビットの場合:

プロジェクト Project1.exe は例外クラス $C0000090 (メッセージ 'c0000090 FLOAT_INVALID_OPERATION')を送出しました。

この例外が発生した後、それ以降、処理が継続できないためアプリケーションは強制終了いたします。

なお、アプリケーションがリリースモードの際は、上記の例外エラーは表示されず、アプリケーション自体が日本語入力時にクラッシュし、強制終了いたします。


解決

この問題は、Delphi/C++Builder/RAD StudioでビルドしたほとんどのVCLアプリケーションで発生いたします。

(FMXアプリケーションは影響ありません)


もしお客様のアプリケーションで影響を受けるようであれば、以下のいずれかの方法によって、Windows 11の設定を変更することで回避できます。

  1. 以前のバージョンの Microsoft IME を使う (詳しくは、こちらを参照)
  2. [プライバシーとセキュリティ | 診断とフィードバック | オプションの診断データを送信する] のチェックボックスを外す
    Thumb03100000ujpn.png


2022年12月5日 追記

2022年11月29日にリリースされたWindows 11 (22H2) KB5020044で、本件は修正済みです。


2022年12月15日 追記

2022年12月13日にリリースされたWindows 11 22H2 向け累積更新プログラム KB5021255 (OS ビルド 22621.963)は、KB5020044を含んでおり、 このアップデートを適用することで、本件は改善されます。