Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
IDE

RAD Studio 10.4でデバッグ時に予期しないポップアップウィンドウが表示される症状の回避策について

10.4 で、デバッグ時に予期しないダイアログが表示される恐れがある不具合が見つかりました。その症状の概要と回避策について説明します。

RAD Studio 10.4 には、デバッグ時に予期しないダイアログがランダムなタイミングで表示されるという不具合が見つかりました。タイトルバーやウィンドウの一部だけが表示されるなど、ダイアログが完全に表示されないことがあり、ダイアログを閉じた後もデバッグが続行されたり、不安定な状態で IDE が終了することがあります。

この問題は少し予想外の症状で、原因自体はウェルカムページにあることがわかりました。具体的には、GetIt からIDE のパッチをインストールする新機能に関連しています。ウェルカムページでは、バックグラウンドスレッドで新しいパッチが利用可能かどうかをチェックしているのですが、メインスレッド以外のスレッドから、モーダルダイアログが表示されるという想定外の問題があり、結果的にダイアログの表示に異常が発生します。

現在、この問題の修正を行っており、近日中にHotfixを発行する予定です。

回避策

Hotfixがリリースされるまでの間、回避策として[ウェルカムページ]画面を一時的に無効にする手順を説明します。ただし、この方法はWindowsレジストリの設定が必要なため注意してください。

  1. IDEを終了します
  2. レジストリエディターを起動します。例えば、Windowsの[ファイル名を指定して実行]メニューから”regedit”と入力
  3. “HKEY_CURRENT_USERSoftwareEmbarcaderoBDS21.0Known IDE Packages”パスを開きます
  4. “$(BDS)Binstartpageide270.bpl”の文字列エントリを検索します
  5. “$(BDS)Binstartpageide270.bpl”の項目の値を”Start Page IDE Package” から”_Start Page IDE Package”へ変更してください。(下図)
  6. IDEを起動します

この不具合のHotfixは近日中のリリースを予定しています。Hotfixがリリースされたら、[ツール]メニューから直接GetItパッケージマネージャを開き、[パッチとホットフィックス]カテゴリに移動してインストールしてください。オフライン (ISO) インストーラを使ってインストールした場合は、まず GetIt をオンラインモードにしてください。

その他の注意事項

補足として、ユーザーが時々行っている2つの非推奨な方法ではなく、より正しい方法を提案いたします。

1つ目は、上記の手順でIDEパッケージを無効にする場合、レジストリのエントリまで削除してしまう人がいるということです。これを防ぐため、説明の最初にアンダースコア(_)を追加する方法をお勧めします。この方法がレジストリパスにあるパッケージを無効にする公式な方法となります。通常では、レジストリを変更するとWindowsシステムや複数のパッケージ間の依存関係に支障が出るためお勧めしませんが、改名しておくことで必要に応じてパッケージを簡単に復元できます。

2つ目は、ソーシャルメディアの一部の情報では、レジストリを編集してGetItをオンラインモードとオフラインモードの間で切り替えることを推奨しています。しかしながら この方法は推奨していません。 これを行う正しい方法は、提供されているコマンドラインアプリを使用し、GetItCmd.exe -c = useonlineを実行してオンラインモードを有効にするか、GetItCmd.exe -c = useofflineを実行してオフライン/ ISOディスクインストールモードを有効にする方法です。


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

IN THE ARTICLES