リリース ノート

提供: RAD Studio
移動先: 案内検索

新機能 への移動


このリリース ノートには、主な製品ドキュメントに含まれていない可能性のある重要な情報が記載されています。 このページのすべての内容に目を通されることをお勧めします。

目次

RAD Studio のインストール、アンインストール、アップブレード

製品をインストール、アンインストール、アップグレードする前に、次のファイルを、選択した言語でお読みください(xx は en、de、fr、ja のいずれかです):

  • radstudio_install_xx.htm: インストールとアップグレードの手順に加えて、システム要件が記載されています。
  • radstudio_license_xx.rtf: ソフトウェア使用許諾およびサポート契約書が含まれています。
  • radstudio_deploy_xx.htm: 配置に関する情報が含まれています。

radstudio_install_xx.htm ファイルの最新版は、以下の場所でお読みになれます。

  • インストール ノート
  • インストール ディレクトリ。デフォルトでは C:\Program Files (x86)\Embarcadero\Studio\ にあります。

オフライン インストーラ

  • インストーラと .gof ファイルを同じフォルダにダウンロード
  • インストールの起動

オフライン モードを自動検知し、RAD Studio の各機能をインストールするのにオフライン イメージを使用します。

オフライン インストーラを使用する場合、RAD Studio は、ユーザーが「オンライン モード」に手動で切り替えるまで、GetIt パッケージ マネージャにアクセスすることができません。 これを行うには、GetItCmd.exe ツールを使用することが推奨されます: GetItCmd.exe -c=useonline

以前のバージョンと移行

以前のバージョンのライセンスが RAD Studio に同梱

10.4 Alexandria ライセンスには、次に示す以前の製品バージョンが含まれています。

  • Delphi 10.4 Alexandria includes licenses for Delphi Rio, Tokyo, Berlin, Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, XE, 2010, 2009, 2007, and 7.
  • C++Builder 10.4 Alexandria は C++Builder Rio、Tokyo、Berlin、Seattle、XE8、XE7、XE6、XE5、XE4、XE3、XE2、XE、2010、2009、2007 および 6 の各ライセンスを含みます。

ライセンスについての詳細は、RAD Studio インストール ディレクトリにある radstudio_license_xx.rtf ファイルを参照してください。

プロジェクトを開いた際のアップグレード

RAD Studio 10.4 Alexandria を使用して、以前のバージョンの RAD Studio で作成されたプロジェクトを開く場合、RAD Studio は自動的にそのプロジェクトをアップグレードさせます。 プロジェクトをアップグレードさせると、以前のバージョンの RAD Studio とは互換性がなくなります。

新しいバージョンの RAD Studio でプロジェクトを開く場合には、その前にプロジェクトのバックアップを常に作成してください。

ファイアウォールが GetIt インストール ファイルをブロックする場合がある

ファイアウォールのブロック ファイル .7z があると、GetIt インストールは失敗します。

Windows

DLL は RTL メソッドをエクスポートする

プロジェクト マネージャにおいて、64 ビット アプリケーションを DLL のインポート ライブラリにリンクすると、ライブラリはリンカのコマンドライン上に配置され、リンカを、自分自身の内部 RTL シンボルではなく、DLL のインポート ライブラリ内の __CPPdebugHook シンボルに接続します。これを避けるには、#pragma link または #pragma comment を使用してインポート ライブラリにリンクし、プロジェクト マネージャにおいて、インポート ライブラリへの参照を削除します。これにより、リンカは最後にインポート ライブラリ内へシンボルを検索しにいき、それにより、自分の RTL 内の正しい __CPPdebugHook シンボルにリンクするようになります。

MSBuild を2度目に再ビルドする際の問題

MSBuild を2度目に再ビルドする際、リソース ファイルのあるなしにかかわらず、プロジェクト バージョン リソース ファイルを build するか否かの確認が、再ビルドの clean ステップの前に発生します。

これを発生させないようにするには、clean の後に build を実行してください:


> msbuild /t:clean project.cbproj

> msbuild /t:build project.cbproj

Linux

誤った PAServer エラー メッセージが Ubuntu Server 16.04 LTS で表示される

[実行|パラメータ]ダイアログでの [ランチャ アプリケーションを使用する] を使用して、xterm を、Linux がターゲットの場合の、デフォルトのランチャー アプリケーションとします。PAServer を Ubuntu Server 16.04 LS 上で実行する際、ファイルが作成できない旨を伝えるエラー メッセージが表示されます。xterm を希望する Ubuntu Server 16.04 LTS 上で起動できないのが問題であるため、このエラー メッセージは正しくありません。Xterm は別にインストールでき、Ubuntu のクライアント ディストリビューションの一部です。

FireMonkey

フォーム デザイナで新規ビューの作成前にすべてのコンポーネントに名前を割り当てる必要あり

古い FireMonkey アプリケーションを 10.4 Alexandria で開く場合、次のエラー メッセージが出力されるおそれがあります。

 Cannot inherit from form 'FormName".  It contains a component with a blank name property.

ビュー継承システムでは、フォーム デザイナで新しいビューを作成できるようになる前に、すべてのコンポーネントに名前を割り当てることが必要です。

macOS 64 ビット

macOS 64 ビットにおける構造の検査と評価

macOS64 上で、パラメータとして値私された構造体は、デバッガにおいて誤った値を表示する可能性があります。

macOS 64 ビットでの変更された検査値の展開

展開可能な変数のフィールド値を検査で見てみる際、その変数の値が変更された後も、デバッガ UI には更新済みのサブ値は表示されません。

macOS 64 ビット上での評価は大文字小文字が区別される

技術的な理由から、macOS 64 ビットでの評価(評価/変更ダイアログでの式など)は大文字小文字を区別します。 これは、iOS 64 ビットでも同様です。 また、$ の代わりに 16 進数の値に 0x 接頭辞を使用するなど、状況により一部の C++ スタイル構文が必要になる場合があります。

FireDAC

実行時パッケージと C++ FireDAC DataSnap ドライバの併用

実行時パッケージを使ってビルドした 64 ビット C++ アプリケーションで FireDAC DataSnap ドライバを使用する場合は、実行時にエラーが発生するおそれがあります。このエラーを避けるには、以下の手順に従って、DataSnapClient を実行時パッケージに追加する必要があります。

  1. [プロジェクト|オプション...|パッケージ|実行時パッケージを選択します。
  2. [実行時パッケージ インポート ライブラリ]フィールドで、DataSnapClient をリストに追加します。

この設定で問題は解決され、DataSnapClient.a ではなく DataSnapClient.bpi がリンク行に追加されます。

FireDAC コンポーネントを使用する 64 ビット Windows C++ アプリケーションでエラーが発生するおそれあり

静的リンクを使用する Windows x64 をプラットフォームとする場合は、FireDAC コンポーネントを 1 つ使用するアプリケーションをコンパイルしようとすると、以下のエラーが発生します。

c:\program files (x86)\embarcadero\studio\<n.n>\Bin\CodeGear.Cpp.Targets : warning : Warning: Out of memory
c:\program files (x86)\embarcadero\studio\<n.n>\Bin\CodeGear.Cpp.Targets(2751,5): error MSB6006: "ilink32" exited with code 2.

回避策は、FireDAC を Win64 C++ アプリケーションにおいて静的にリンクしないことです。

データベースデータベース

データセットの再設定

バインドした TClientDataSetTFDMemTable を再設定することは、初期時より遅くなる可能性があります。この問題を回避するため、新しい EmptyDataLink メソッドを TBindSourceDB に追加しました。

Android

JDK パスの問題

Java 開発キット(JDK)のバグが原因で、Android ターゲット プラットフォーム向けプロジェクトの配置パスに非 ASCII 文字を含めることはできません。

Android 用 string.h ファイルのパッチ

Android 用 FMX アプリケーションを作成するために C++ Builder を使用している際、特に、オフライン インストーラを使用する場合です。 string.h ファイルのパッチを手動であてる場合には、次のステップに従ってください:

  1. エラー メッセージをダブルクリックします。
  2. IDE に string.h ファイルが開きます。
  3. 次のコメントを含む行に移動します:
    /* Const-correct overloads. Placed after FORTIFY so we call those functions, if possible. */
    
  4. 上記のコメントの後の行を、次に示すように変更します:
    修正前
    #if defined(__cplusplus) && defined(__clang__)
    修正後
    #if defined(__cplusplus) && defined(__clang__) && ((__clang_major__ > 3) || (__clang_minor__ > 4))

以下の例を参照してください。.diff の生成時にコードをどのように変更したらいいかは次の通りです:


--- string.h.orig
+++ string.h.modified
@@ -188,7 +188,7 @@
 #endif
 
 /* Const-correct overloads. Placed after FORTIFY so we call those functions, if possible. */
-#if defined(__cplusplus) && defined(__clang__)
+#if defined(__cplusplus) && defined(__clang__) && ((__clang_major__ > 3) || (__clang_minor__ > 4))
 /*
  * Use two enable_ifs so these overloads don't conflict with + are preferred over libcxx's. This can
  * be reduced to 1 after libcxx recognizes that we have const-correct overloads.

10.4 における Android マニフェスト ファイルの更新

新しいディレクトリにおいて作成された新しい FireMonkey プロジェクトは、Android プラットフォーム用組み込み IDE サポートを使用するために、以下の手順をふむ必要はありません。 以前のバージョンの Rad Studio から、Android プラットフォーム用の既存 FMX プロジェクトがある場合には、AndroidManifest.template.xml をプロジェクト ディレクトリから削除する必要があります。これは 10.4 において再度自動的に作成されます。

iOS

iOS ストーリーボードでの作業

新しいディレクトリにおいて作成された新しい FireMonkey プロジェクトは、ストーリーボード用組み込み IDE サポートを使用するために、さらなる手順をふむ必要はありません。

以前のバージョンの RAD Studio から、iOS プラットフォーム用の既存 FMX プロジェクトがある場合には、info.plist.TemplateiOS.xml をプロジェクト ディレクトリから削除する必要があります。

10.4 において、iOS に対するストーリーボードの起動画面サポートをカスタマイズするには、2 つのことなる方法があります。これは、自分でコンパイルしたストーリーボードを使用するか、10.4 で提供されているものを使用して新しいものを起動するかで、異なってきます。

オプション 1) ユーザーは、自分でコンパイルしたストーリーボードとアセット カタログ(*.storyboardc および Assets.car)を用意します。 10.4 でそれを使用するには、次の手順を行います:

  • [プロジェクト|配置]で配置された *.launchscreen のチェックをはずします
  • ストーリーボード ファイルの名前が LaunchScreen.storyboard でなければ、info.plist.TemplateiOS.xml を編集する必要があります。"<%StoryboardInfoPListKey%>" 部分を、"UILaunchStoryboardName key/value" と変更してください。
  • [プロジェクト|配置]を開き、コンパイルされたストーリーボードとアセット カタログのファイルを追加します。

オプション 2) ユーザーは、IDE で提供されているデフォルトのストーリーボードとアセット カタログを変更します。 このオプションを使用している場合には、次の手順を行います:

  • LaunchScreen.storyboard と LaunchScreen.TemplateiOS のアセット ファイルを必要に応じて編集します。
  • [プロジェクト|配置]を開き、配置される起動画面イメージを追加します(もしあれば)。

info.plist.TemplateiOS.xml と LaunchScreen.TemplateiOS テンプレートが次の場所にあります:

a. <bds>\ObjRepos\<locale>\iOS
b. %APPDATA%\Embarcadero\BDS\21.0
c. the location where the project is located.

IDE はこれらのテンプレートを次の順に検索していきます: プロジェクト ディレクトリ、 %APPDATA% ディレクトリ、ObjRepos ディレクトリ。

iOS の起動が PAServer 22 で失敗する

デバッグ モードで、プロジェクトをコンパイル、実行しようとすると、PAServer 22 で数多くのエラー メッセージと共に失敗します。これを解決するには:

  1. ターミナルを開き、次のコマンドを入力します。
cd /Applications/PAServer-22.0.app/Contents/MacOS
env PYTHONHOME=/System/Library/Frameworks/Python.framework/Versions/2.7 ./paserver

C++ ツールチェーン

C++ パッケージ内のコンポーネントを使用する際の依存パッケージおよび必須パッケージの指定

C++ パッケージ内の既存コンポーネントを使用する際、IDE では、そのコンポーネントの依存(必須)パッケージを自動的には追加しません。このステップは手動で実行する必要があります。

関連する依存(必須)パッケージがなければ、そのコンポーネントの使用時に初期化する必要がある .obj ファイルをリンカが見つけられないため、C++ パッケージはリンクできないおそれがあります。このようなリンカ エラーを避けるには、コンポーネントのパッケージとその依存パッケージを(プロジェクト マネージャ内の)C++ パッケージの[Requires]ノードに追加する必要があります。

次の例では、コンポーネントの必須パッケージを割り出し、そのコンポーネントを使用するダミーの VCL フォーム アプリケーションを作成することにより "xxx.obj を開けません" というリンカ エラーを解消する方法を示しています。

デフォルトでは、次のリンカ コマンド ライン([表示|メッセージでビューを表示)で指定されている *.bpi ファイルからもわかるように、新規に作成される C++ マルチデバイス アプリケーションでは .rtl パッケージおよび .fmx パッケージとリンクします。

ilink32 コマンド ライン:

c:\BDSLoc\bin\ilink32.exe ... -aa -V5.0 -Tpe  c0wfmx32w rtl.bpi fmx.bpi memmgr.lib sysinit.obj .\Win32\Debug\Project30.obj .\Win32\Debug\Unit26.obj , .\Win32\Debug\Project30.exe , .\Win32\Debug\Project30.map , import32.lib cp32mti.lib , , Project30.res

新しいコンポーネントを追加すると、IDE が依存パッケージを推定し、リンカ コマンド ラインを調整します。このことを確認するため、C++ パッケージ内の使用コンポーネントをマルチデバイス フォームに追加します。この例では、TFDSchemaAdapter コンポーネントを使用します。では、アプリケーションを再ビルドします。新しい .bpi ファイルがいくつかリンカ コマンド ラインに追加されたことがわかります。

ilink32 コマンド ライン:

c:\BDSLoc\bin\ilink32.exe ... -aa -V5.0 -Tpe  c0w32w rtl.bpi fmx.bpi FireDACCommonDriver.bpi FireDACCommon.bpi xmlrtl.bpi dbrtl.bpi FireDAC.bpi FireDACSqliteDriver.bpi memmgr.lib sysinit.obj .\Win32\Debug\Project30.obj .\Win32\Debug\Unit26.obj , .\Win32\Debug\Project30.exe , .\Win32\Debug\Project30.map , import32.lib cp32mti.lib , , Project30.res

これらの新しい .bpi ファイルが、お使いのコンポーネントの依存パッケージです。TFDSchemaAdapter の場合は、次の .bpi ファイルがそれに当たります。

FireDACCommonDriver.bpi FireDACCommon.bpi xmlrtl.bpi dbrtl.bpi FireDAC.bpi FireDACSqliteDriver.bpi

そのため、C++ パッケージ内の TFDSchemaAdapter コンポーネントを使用するには、IDE でこれらの bpi ファイルをそれぞれ '必須' 参照として明示的に追加する必要があります(「パッケージ(Delphi)」を参照)。

DirectX ヘッダー ファイルのダウンロード

Microsoft Windows Platform SDK 内の DirectX ヘッダーのみ付属しています。"d3d.h ファイルが見つかりません" などのエラーが発生した場合、その Delphi ユニット用に生成された HPP には #include <D3D*.hpp> が含まれています。以下のいずれかを行うことができます。

  • D3D ユニットを使用しているユニットに {$NOINCLUDE Winapi.D3DX9} 指令を追加し、そのユニットの HPP ファイルを生成し直します。再生成された HPP には #include <Winapi.D3DX9.hpp> が含まれていません。
  • D3D ヘッダーの基になっている DirectX SDK をダウンロードします。DirectX SDK は、Microsoft 社から無償でダウンロードできます。詳細については、「DirectX SDK の場所(Windows)」(英語版)を参照してください。

C++

C++ コード フォーマッタ

RAD Studio 11.0 Alexandria では、C++ コードの整形が動作しない場合があります。メニュー項目を選択、または Ctrl+D を押しても、効果もなくメッセージ ボックスも表示されません。これは、フォーマッタ DLL が依存する VC++ ランタイムをロードできないために発生します。

これを解決するには、"Microsoft Visual C++ 2015, 2017 and 2019 Redistributable (x86)" をインストールする必要があります。

IDE

名前を変更した iOS プロジェクトは実行時またはデバッグ時に失敗するおそれあり

IDE でプロジェクトの名前を変更すると、iOS アプリケーションが実行時やデバッグ時に失敗するおそれがあります。 この問題を解決するには、以下を行います。

  1. [プロジェクト|配置]を選択します。
  2. 配置マネージャで、[デフォルトに戻す]スピード ボタンをクリックします。

バージョン情報設定の継承

Windows をターゲットとするプロジェクトにバージョン情報を組み込むには、[すべてのプラットフォーム]ターゲットでのキー値を変更するのではなく、代わりに各プラットフォーム(32 ビットおよび 64 ビット)向けに値を個別に変更します。個々のターゲットでは、[すべてのプラットフォーム]ターゲットから値を正しく継承しません。

InterBase

RAD Studio 11.0 Alexandria における InterBase 2020 エディション

この注意事項は、RAD Studio の以前のバージョン、および、RAD Studio 10.3 Rio の両方が同じマシンにインストールされているユーザーを対象としたものです。 この注意事項では RAD Studio に言及していますが、Delphi と C++Builder のエディションも言外に含まれています。

RAD Studio の各バージョンには、InterBase のバージョンのライセンスも含まれています。

製品 InterBase バージョン
RAD Studio XE3 InterBase XE3 Developer エディション
RAD Studio XE4 InterBase XE3 Developer エディション
RAD Studio XE5 InterBase XE3 Developer エディション
RAD Studio XE6 InterBase XE3 Developer エディション
RAD Studio XE7 InterBase XE3 Developer エディション
RAD Studio XE8 InterBase XE7
RAD Studio XE9 InterBase XE7
RAD Studio Berlin InterBase XE7
RAD Studio Tokyo InterBase XE7
RAD Studio Rio InterBase 2017
RAD Studio Alexandria InterBase 2020

これらの RAD Studio ライセンス スイートはすべてシステム全体で参照できるので、使用できる InterBase のライセンスは常に 1 つだけです。

たとえば、RAD Studio XE6 に付属していた "InterBase XE3 Developer Edition"を実行している場合、RAD Studio XE7 に付属している "InterBase XE3 Developer Edition" のインスタンスを同時に起動することはできません。 また、RAD Studio 10.4 Alexandria に付属している "InterBase 2020 エディション" のインスタンスを同時に起動することもできません。 このインスタンスを起動しようとした場合は、"InterBase のライセンス エラー" であることを通知するエラー ダイアログが表示されます。InterBase のログを調べれば、"Registration file error: License is in use by another instance of InterBase"(登録ファイル エラー: ライセンスは別の InterBase インスタンスで使用中)と記載されています。

InterBase の複数インスタンスの実行については、ドキュメント『操作ガイド』のセクション「複数インスタンス」を参照してください。

InterBase のライセンス エラーの回避策

  1. InterBase のインスタンスをすべて停止します。 このインスタンスを Windows サービスとしてセットアップしてある場合は、それをシステムの[サービス]コントロール パネルでも無効にしてください。
  2. 使用したい InterBase のインスタンスを起動します。今度は、適切なライセンスで正常に起動します。

前述の RAD Studio バージョンとそれらでビルドされたアプリケーションは、RAD Studio 10.4 Alexandria でインストールされる更新された InterBase 2020 エディションでも動作します。 以前の IDE ツールおよびアプリケーションについては、この InterBase インスタンスへの TCP ループバックを通じて、お使いのデータベースに接続させます。 例:

localhost/gds_db:<dbpath>

RAD Studio の以前のバージョンでは、[ツール|オプション...|環境オプション|環境変数を選択し、ローカル クライアント接続を行うための以下の[ユーザー定義環境変数]エントリを新しく追加してもよいでしょう。

変数
IB_Protocol gds_db
InterBase C:\Program Files (x86)\Embarcadero\Studio\\InterBase2020

長期に及ぶ既知の問題

PLATFORM 環境変数

HP コンピュータには、PLATFORM という名前の環境変数が含まれており、"Win32"、"Win64"、または "OSX32" 以外の値に設定されると、コンパイル時に次のエラーを発生させます:

PLATFORM 変数 "(値)" が無効です。 PLATFORM は、次のいずれかです:

  • Windows: Win32 または Win64
  • Android: Android32Arm
  • iOS: iOSSimulator32、iOSDevice32、iOSDevice64
  • Mac: OSX32、OSX64
  • Linux: LINUX64

次の手順に従い、PLATFORM 環境変数をシステムから削除してください:

  1. デスクトップで、マイ コンピュータを右クリック。
  2. [プロパティ]を選択。
  3. OS に従い、[詳細]タブか[システムの詳細設定]を選択。
  4. [環境変数...]ボタンをクリック。
  5. [Platform]環境変数を探し、[削除]ボタンをクリック。

PROFILE 環境変数

システムに設定された PROFILE 環境変数は、C++ プロジェクトをコンパイルする際に次のエラーを起こします:

c:\program files (x86)\embarcadero\studio\19.0\bin\CodeGear.Profiles.Targets(37,5): error : Specified profile not found: 'C:\Users\username\AppData\Roaming\Embarcadero\BDS\19.0\true.profile'

この問題を解決するには、次の手順を行います:

  1. IDE で [ツール > オプション... > 環境オプション > 環境変数 に移動します。
  2. [ユーザー定義環境変数]オプションで、PROFILE を選択し、[編集...] をクリックします。
  3. PROFILE の値に空の文字列 (“”) を設定します。

一般的な問題

問題 回避策

16 進数値が接頭辞 w/ の後に本来 $ のところ 0x がくる。

なし

式が大文字小文字を区別する

コードで使用されているのと一致するよう、大文字小文字を使用しなければならない

評価済み式の書式に使用する接尾辞が動作しない

なし

文字列が、単一引用符(')ではなく、2重引用符(")が使用されている

なし

外部ソフトウェア

Yandex Punto Switcher などのサードパーティ製キーボード切り替えツールが組み込まれている環境でデバッグされたアプリケーションの場合、問題が発生する可能性があります。Windows によりアプリケーションが終了し、アプリケーションでアクセス違反エラーが発生した場合、このアクセス違反エラーは無視してください。

トランスレーション ツール

RAD Studio 10.3 Rio のように、本製品で利用可能な翻訳ツールは、VCL(統合トランスレーション エディタ)および FireMonkey(TLang)の両方とも、公式には、廃止予定であり、サポート対象から外れています。 両機能とも、また Rio で利用可能ですが、これらに対するプロジェクトの依存性を削減していくとよいでしょう。 RAD Studio は、サードパーティ ベンダーとチームを組み、別の選択肢を提供します。

関連項目