Delphi、C++Builder、RAD Studio 10.4用のPatch 3がリリースされました。
このパッチは、VCLグリッド、C++Win64 デバッガ(新しいフォーマッタの追加を含む)、C++Builder Android の例外処理、C++Android リソースのリンクに関する RAD Studio 10.4 の多くの問題を修正しています。
非常に重要な2つの注意点があります。
- Patch 3をインストールする前に、必ずPatch 1とPatch 2を先にインストールしてください。(1→2→3の順でインストールが必要)
- Patch 3は、Patch 2と同様にGetIt経由でインストールするだけでは、パッチのインストールは完了しません。Patch 2と同様に手動によるインストールが必要で、そこが陥りやすい問題となっています。Patch 2のインストール手順は、スクリーンショットを交えたガイド(Patch 3でも参考になります)はこちら、または以下の手順を参照してください。
インストール
インストール手順 (GetIt経由)
RAD Studio IDE の GetIt を使用してPatch 3 をインストールするには、インターネット接続が必要です。オフライン (ISO) インストーラを使用して RAD Studio をインストールした場合は、GetItCmd -c=useonlineコマンドを発行する必要がある場合もあります(GetItCmdコマンドを一度も発行していない場合)。
- GetIt を使用してパッチをダウンロードしてください。
- パッチの実行ファイルは、ZIPファイルと一緒に次のフォルダにコピーされます。C:\Users\(LoginName)\Documents\Embarcadero\Studio\21.0\CatalogRepository\10.4Patch3-10\R104_Patch3
- RAD Studio 10.4 IDE (別プロセスで実行されている可能性があるRAD Studio IDEも含む)を終了します。
- 上記のフォルダから、バッチファイル(patch3.bat)を実行します。
- パッチをインストールするプロセスは、UACによる昇格が必要で、詳細なログファイルはCatalogRepositoryフォルダに出力されます。
- 完了した後、IDEを再起動してください。
インストール手順 (カスタマーポータル経由)
- my.embarcadero.comのサイトからパッチがダウンロードできます。
- GetIt経由のインストール手順と同様に、RAD Studio 10.4 IDEを閉じて、展開されたフォルダ内のバッチファイル(patch3.bat)を実行し、インストールしてください。
アンインストール手順(GetIt/カスタマーポータル共通)
- C:\Users\(LoginName)\Documents\Embarcadero\Studio\21.0\CatalogRepository\10.4Patch3-10\R104_Patch3フォルダを開きます。
- patch3uninstall.batの実行
- 別の方法として、バックアップフォルダ$(BDS)\_patch-backupからRAD Studioインストールフォルダ$(BDS)にファイルをコピーすることもできます。
- パッチを削除した後、GetIt からパッケージをアンインストールしてください。
Patch 3の修正内容
RAD Studio 10.4 Patch 3 は、以下で報告されているQuality Portal(RSP-)問題と内部レポート(RS-) 問題の両方に対応しています。
C++ Android:
RSP-27268 C++ Builder 10.3.3 Android Exceptions
RSP-29218 C++ Android error E4620 processing resource .fmx -2 raised
VCL:
RSP-29628 VCL Grids bug
C++ Win64デバッガ:
RSP-29239 Debugger does not start
RSP-29206 can’t debug win64 at all
RSP-29145 C++Builder 64 bit Debugger alters the default working directory from the app executable directory
RSP-29125 New Windows 64 bit debugger freezes and does not stop on exceptions
*部分的な修正*デバッガでの例外処理のサポートは改善されましたが、まだ問題があります。OS レベルの例外 (AV など) が常に捕捉されて報告されるわけではありません。いくつかの言語レベルの例外タイプが正しく表示されない。
RS-100553 [LLDB Win64 C++] Add formatter for unique_ptr
RS-100134 FMX & VCL C++ 64-bit App become unresponsive while trying to debug it
RS-97111 Evaluation of TLabel->Caption property returns “Unknown error”
このように今回のPatch3には重要な修正項目を含んでいます。VCL グリッドの修正はこのコントロールを使用する箇所の問題を解決しますが、他の C++ の修正項目にも注意してください。C++ Android 32-bit アプリで発生する例外への修正は2020年8月1日の期限までにAndroid 32ビットアプリを更新する場合に重要です。 リソースリンクの修正も重要です。また10.4でC++ Win64向けにリリースされた新しいデバッガに対する修正も含みます。このデバッガは LLDB 9 をベースにしており、STL コレクションや独自の複雑なデータ構造を評価したり検査したりするツールを備えており、Clangコンパイラに移行する上で重要な意味があります。今回のパッチでは特に大規模プロジェクトの開発向けに多くのバグを修正しました。また std::unique_ptr の新しいフォーマッタ (ビジュアライザ) を追加し、内容を簡単に検査できるようにしました。