リリース ノート

提供: 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\20.0 にあります。

以前のバージョンと移行

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

製品の以前のバージョンのライセンスは、10.3 Rio ライセンスに含まれています。

  • Delphi 10.3 Rio には、Delphi Tokyo, Berlin, Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, XE, 2010, 2009, 2007, and 7 のライセンスが含まれています。
  • C++Builder 10.3 Rio には、C++Builder Tokyo, Berlin, Seattle, XE8, XE7, XE6, XE5, XE4, XE3, XE2, XE, 2010, 2009, 2007, and 6 のライセンスが含まれています。

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

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

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

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

Delphi 7 からのアップグレード

Delphi 7 などの初期リリースで作成されたプロジェクトをアップグレードしようとしていて、そのプロジェクトにカスタム ファイル拡張子が付いている場合は、[プロジェクト|オプション...|アプリケーション]を選択し、[ターゲット ファイル拡張子]をプロジェクトの種類(.exe、.dll、.bpl のいずれか)に合わせて設定する必要があります。

シングル コア Win 7 VM での GetIt インストーラの問題

Delphi、C++Builder、RAD Studio 10.3 を、Windows 7 が稼働している単一のコア仮想マシン上にインストールしており、Web ベースの 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

Apache バージョンの要件

Delphi for Linux は Apache 2.4 をサポートしています。Version 2.2 はサポートされていません。

誤った 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.3 Rio で開く場合、次のエラー メッセージが出力されるおそれがあります。

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

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

デバイス上で iOS アプリケーションをデバッグなしで実行したあと正常に閉じる/開き直すことができないおそれあり

デバイス上で iOS アプリケーションをデバッグなしで実行したあと、デバイス上でアプリケーションのプロセスを強制終了した場合は、IDE の外部でプロセスを実行するのであれば、PAServer のリセット コマンドを実行する必要があります。それには、PAServer のコマンド プロンプトで「r」と入力します。

iPhone XS でのデバッグ

iPhone XS でのアプリケーションのデバッグは、現在サポートされていません。 これらのデバイスにアプリケーションを配置および実行することは、両方とも可能です。

macOS Mojave 開発

Mojave 上でデバッグしながらアプリケーションを開始することは、現在サポートされていません。 回避策として、開始後に実行中のアプリケーションにアタッチすることはできます。

これを実現するには、次の手順が必要です:

  1. [実行|デバッガを使わずに実行]を選択するか、ツールバー ボタンの[デバッガを使わずに実行]をクリックします。 これにより、アプリケーションが起動します。
  2. [実行|プロセスにアタッチ...]を選択します。
  3. [プロセスにアタッチ]ダイアログで:
  • 左側にある[リモート]は必ず選択しておいてください。
  • [デバッガ]コンボ ボックスで、EmbarcaderomacOS 32 ビット デバッガを選択します。
  • [リモート ホスト]フィールドで省略ボタン[...]をクリックし、macOS 32 ビット プラットフォームの接続プロファイルを選択します。
  • デバッグしたいアプリケーションを、実行しているプロセスのリストから選択します。

macOS 10.14 SDK は、32 ビット アプリケーションをサポートしなくなりました。 Delphi はシンボル解決に SDK に依存していないので、Delphi ではアプリケーションを依然として 10.14 SDK でビルドすることはできます。 しかし、C++Builder ではできないため、C++Builder アプリケーションには 10.13 SDK を使用する必要があります。

Mojava を実行する Mac 上で、macOS 32 ビット アプリケーションを macOS 10.13 SDK を使用して開発したい場合には、XCode 9.x をインストールする必要があります。 その際には、Xcode 9 および Xcode 10 の両方をインストールすることをお勧めします。 この 2 つは、xcode-select を利用して切り替えることができます:

sudo xcode-select -s <xcode 9.x app>/Contents/Developer/

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++ アプリケーションにおいて静的にリンクしないことです。

データベース エクスプローラにおける DBX Enterprise エンタープライズの無効化

問題があるため、データベース エクスプローラでの DBExpress Enterprise データベース ドライバの読み込みは、デフォルトで無効になっています。 データベース エクスプローラは現在、ユーザーが所有する FireDAC ドライバすべてと、プロフェッショナル エディションの DBExpress ドライバを一覧表示します。 この修正は、今後のリリースで行われる予定です。

この問題はデータベース エクスプローラ ウィンドウに限定するものなので、DBExpress コンポーネントは、IDE では引き続き利用でき、DBExpress を使用するアプリケーションも期待通り動作します。

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

データセットの再設定

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

Android

JDK パスの問題

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

Android SDK/NDK インストール手順

Android SDK/NDK インストールは完全ではありません。 代わりに、SDK Manager.exe を開いて正しいダウンロード オプションが選択されているか確認する、または、(より信頼のおける)コマンドライン サイレント インストールを使用することができます。

  • コマンド プロンプトを開いて、次に移動します:
C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidSDK-2525_20.0.32429.4364\tools
  • コマンドを実行します:
android.bat update sdk --no-ui --all --filter platform-tools,build-tools-28.0.2,android-26

これらの手順が正常におこなわれたか確認するには、RAD Studio で SDK Manager を開き([ツール|オプション...|配置|SDK マネージャ][Android SDK 25.2.5 32 ビット][SDK バージョン]リストボックスから選択し、[プロパティ]ページの[SDK]タブをクリックします。 SDK リンクは正しくなければなりません。これが参照しているファイルがない場合、感嘆符アイコン(!)が付きます。

C++Builder に対する Android SDK の追加設定手順

自動的に設定される SDK では、string.h ヘッダー ファイルで発生するエラーを回避するよう設定されません。 これを解決するには、RAD Studio IDE を開き、次の手順を実行する必要があります:

  1. [ファイル|すべてを閉じる]を選択します。
  2. [ツール|オプション...|配置|SDK マネージャ]を選択します。
  3. [Android SDK 25.2.5 32 ビット][SDK バージョン]リストボックスから選択し、[削除]をクリックします。
  4. 同じウィンドウで、[追加...]をクリックします。
  5. [新規 SDK の追加]ダイアログ ボックスで、[Android][プラットフォームの選択]ドロップダウン リストから選択し、[新規追加...][SDK バージョンの選択]ドロップダウン リストから選択します。 これにより、[Android SDK の新規作成]ダイアログが開かれます。
  6. インストールに応じて、[Android SDK の基底パス][Android NDK の基底パス]を次のルート ディレクトリから探します:
  • Web / GetIt インストール: c:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository
  • ローカル/ISO インストール: c:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs

C++ ツールチェーン

macOS アプリケーションにおける DWORD または ULONG の多重宣言の解消

macOS ターゲット プラットフォームに対してコンパイルされたマルチデバイス アプリケーションでは、E2238 はmacOS ヘッダー iodbcunix.h および sqltypes.h が、typedef 文を DWORD および ULONG に対して宣言しており、また、C++Builder sysmac.h ファイル(System.hpp にインクルードされている)も同様の typedef 文を持っているため、問題が発生する可能性があります。回避策については、E2238 を参照してください。

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)」(英語版)を参照してください。

IDE

マルチデバイス フォーム デザイナではマスタ ビューからのみコンポーネントを削除可能

別のビュー([マスタ]ビュー以外)からコンポーネント(たとえば TButton など)を削除しようとすると、次のエラー メッセージが表示されます。

 Selection contains a component, Button1, introduced in an ancestor and cannot be deleted

この問題を解決するには、コンポーネントの削除を[マスタ]ビューで行います。ビューの詳細については、「フォーム デザイナ」を参照してください。

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

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

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

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

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

InterBase

RAD Studio 10.3 Rio での InterBase 2017 エディション

この注意事項は、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 ライセンス スイートはすべてシステム全体で参照できるので、使用できる InterBase のライセンスは常に 1 つだけです。

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

InterBase の複数のインスタンス実行についての詳細は、http://docs.embarcadero.com/products/interbase/IBXE7/OpGuide.pdf の「マルチインスタンス」セクションを参照してください。

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

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

RAD Studio の上記のバージョンとそれらでビルドされたアプリケーションは、RAD Studio 10.3 Rio と一緒にインストールされる、InterBase XE7 の更新版とも連携できます。 以前の IDE ツールおよびアプリケーションについては、この InterBase インスタンスへの TCP ループバックを通じて、お使いのデータベースに接続させます。 たとえば、

localhost/gds_db:<dbpath>

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

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

Android に対して IBLite アプリケーションをビルドする際には、NDK パスを更新する必要があります。

Android に対して IBLite および IBToGo アプリケーションをビルドできるようにするには、NDK API の場所をバージョン 26 に変更します(19 以降で同様に動作します)。 これを行うには、[ツール|オプション...|配置|SDK マネージャ] に移動し、[Android SDK 25.2.5 32 ビット][SDK バージョン]リストボックスから選択し、[プロパティ]ページの[NDK]タブをクリックして、次のパスを変更します:

[NDK API の場所]

C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\platforms\android-19

[C++ Builder NDK ライブラリ パス]

C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\platforms\android-19\arch-arm\usr\lib

[Delphi NDK ライブラリ パス]

C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\platforms\android-19\arch-arm\usr\lib
C:\Users\Public\Documents\Embarcadero\Studio\20.0\CatalogRepository\AndroidNDK-17b_20.0.32429.4364\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a

外部ソフトウェア

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

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

RAD Studio 10.3 Rio は正式に、アクティブ サポートから、製品で利用可能なトランスレーション ツール(VCL の Integrated Translation Editor および FireMonkey の TLang の両方)を廃止および削除します。 双方の機能とも、Rio でまだ利用可能ですが、これらに対する依存度をプロジェクトから減らしていくことを推奨します。 RAD Studio は、サードパーティ ベンダーにも別の選択肢を提供するよう協力を依頼しています。

関連項目