リリース ノート
新機能 への移動
このリリース ノートには、メインの製品ドキュメントには記載されていない可能性のある、重要事項が含まれています。本ページはすべて目を通されることをお勧めします。
アップデート サブスクリプションに現在加入されているお客様は、「Subscription Update 1」を参照してください。
アップデート サブスクリプションに現在加入されているお客様は、「Subscription Update 2」を参照してください。
目次
RAD Studio のインストール、アンインストール、アップブレード
本製品のインストール、アンインストール、アップグレードの前には、選択した言語の次のファイルをお読みください。
radstudio_install_xx.htm
: インストールとアップグレードの手順に加えて、システム要件が記載されています。radstudio_license_xx.rtf
: ソフトウェア使用許諾およびサポート契約書が含まれています。radstudio_deploy_xx.htm
: 配置に関する情報が含まれています。
radstudio_install_xx.htm
ファイルの最新版は、以下の場所でお読みになれます。
- インストール ノート
- インストール ディレクトリ。デフォルトでは
C:\Program Files (x86)\Embarcadero\Studio\18.0
にあります。
以前のバージョンと移行
以前のバージョンのライセンスが RAD Studio に同梱
Berlin ライセンスには、次に示す以前の製品バージョンが含まれています。
- Delphi Berlin は、Delphi Seattle、XE8、XE7、XE6、XE5、XE4、XE3、XE2、XE、2010、2009、2007 および 7 の各ライセンスを含みます。
- C++Builder Berlin は C++Builder XE8、XE7、XE6、XE5、XE4、XE3、XE2、XE、2010、2009、2007 および 6 の各ライセンスを含みます。
ライセンスについての詳細は、RAD Studio インストール ディレクトリにある radstudio_license_xx.rtf
ファイルを参照してください。
Opening Projects Upgrades Them
以前のバージョンの RAD Studio で作成されたプロジェクトを、RAD Studio Berlin で開くと、RAD Studio はそのプロジェクトをアップグレードさせます。アップグレードされたプロジェクトは、それ以降、以前のバージョンの RAD Studio では動作しません。
新しいバージョンの RAD Studio でプロジェクトを開く場合には、その前にプロジェクトのバックアップを常に作成してください。
Delphi 7 からのアップグレード
Delphi 7 などの初期リリースで作成されたプロジェクトをアップグレードしようとしていて、そのプロジェクトにカスタム ファイル拡張子が付いている場合は、[プロジェクト|オプション...|アプリケーション]を選択し、[ターゲット ファイル拡張子]をプロジェクトの種類(.exe、.dll、.bpl のいずれか)に合わせて設定する必要があります。
FireMonkey
フォーム デザイナで新規ビューの作成前にすべてのコンポーネントに名前を割り当てる必要あり
古い FireMonkey アプリケーションを Berlin で開く場合、次のエラー メッセージが出力されるおそれがあります。
Cannot inherit from form 'FormName". It contains a component with a blank name property.
新しいビュー継承システムでは、フォーム デザイナで新規ビューを作成するには、まず、すべてのコンポーネントに名前を割り当てる必要があります。
デバイス上で iOS アプリケーションをデバッグなしで実行したあと正常に閉じる/開き直すことができないおそれあり
デバイス上で iOS アプリケーションをデバッグなしで実行したあと、デバイス上でアプリケーションのプロセスを強制終了した場合は、IDE の外部でプロセスを実行するのであれば、PAServer のリセット コマンドを実行する必要があります。それには、PAServer のコマンド プロンプトで「r」と入力します。
さまざまなプラットフォームで Web ブラウザがあるリンク動作をサポートしていないおそれあり
TWebBrowser で表示されている Web ページで、Target プロパティが "_blank" または "_search" に設定されているハイパーリンクをクリックすると、次の問題が発生するおそれがあります。
- Android および iOS プラットフォームでは、同じ TWebBrowser ウィンドウにリンク先のページが開きます。
- Win32 および Win64 プラットフォームでは、新規の Internet Explorer ウィンドウにリンク先のページが開きます。
- Mac OS X プラットフォームでは、リンクをクリックしても効果がありません(リンク先のページが開きません)。
FireDAC
実行時パッケージと C++ FireDAC DataSnap ドライバの併用
実行時パッケージを使ってビルドした 64 ビット C++ アプリケーションで FireDAC DataSnap ドライバを使用する場合は、実行時にエラーが発生するおそれがあります。このエラーを避けるには、以下の手順に従って、DataSnapClient を実行時パッケージに追加する必要があります。
- [プロジェクト|オプション...|パッケージ|実行時パッケージ]を選択します。
- [実行時パッケージ インポート ライブラリ]フィールドで、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++ アプリケーションにおいて静的にリンクしないことです。
FireDAC の INI ファイルに関するエラーの回避策
これまでのバージョンでは、FireDAC の INI ファイルは "C:\Program Files" に作成されていましたが、現代の Windows バージョンでは、このディレクトリは通常の Windows ユーザーには読み取り専用になります。[データ エクスプローラ]や FDExplorer を使って新しい FireDAC 接続定義を追加すると "Can't modify file(ファイルを変更できません)" のようなエラーが発生する場合は、FireDAC の INI ファイルがまだ "C:\Program Files" に入っている可能性があります。この問題を解決するには、FDFixIni ユーティリティをダウンロードして実行します。その結果、FireDAC の INI ファイルが正しい場所に移動し、FireDAC レジストリが更新されます。デフォルトでは、正しい場所は "C:\Documents and Settings\All Users\Documents\Embarcadero\Studio\FireDAC" です。
この問題を解決するには:
- 登録ユーザー向けサイト(http://cc.embarcadero.com/item/29812)から FDFixIni をダウンロードします。
- ダウンロードしたアーカイブから .EXE ファイルを解凍します。
- 解凍したファイルを実行します。このユーティリティが正常に実行された場合は、"
Move <古い場所> to <新しい場所>
" というメッセージが 2 行出力されます。
Box2D
RAD Studio Berlin には、Box2D.*.pas
ユニットのビルド済みの .dcu
ファイルが用意されていません。
Box2D.*.pas
ユニットを使用している Delphi プロジェクトの場合は、[プロジェクト|オプション...|Delphi コンパイラ]を選択し、[検索パス]にinclude ${BDS)\source\FlatBox2D
が含まれるように更新します。- Box2D の使用の詳細については、「Box2D」を参照してください。
Android
Java 開発キット(JDK)のバグが原因で、Android ターゲット プラットフォーム向けプロジェクトの配置パスに非 ASCII 文字を含めることはできません。
C++ ツールチェーン
OS X アプリケーションにおける DWORD または ULONG の多重宣言の解消
OS X ターゲット プラットフォーム向けにコンパイルされるマルチデバイス アプリケーションの場合、E2238 エラーが発生するおそれがあるのは、OS X ヘッダー iodbcunix.h
および sqltypes.h
に DWORD
と ULONG
の typedef
文が宣言されているためと、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)」(英語版)を参照してください。
5~8 バイトの構造体またはセットをパラメータに取るイベントは BCC64 では無効
IDE で生成されるイベントのうち、5 ~ 8 バイトの構造体またはセットをパラメータに取るものは、32 ビット C++ では有効ですが、64 ビット C++ では無効です。 これは、型が値で渡される場合にのみ影響します。型が参照で渡される場合は、Win32 と Win64 で違いはありません。
たとえば、OnContextPopup イベントの TPoint &MousePos
パラメータにアクセスすると、アクセス違反が発生します。これは、Win64 プラットフォームでは TPoint &MousePos
パラメータが無効だからです。__closure 型宣言に注目すると、Win32 と Win64 で違いがあることがわかります。TControl の PopupMenu イベントの __closure 宣言を以下に示します。
#ifndef _WIN64
typedef void __fastcall (__closure *TContextPopupEvent)(System::TObject* Sender, const System::Types::TPoint &MousePos, bool &Handled);
#else /* _WIN64 */
typedef void __fastcall (__closure *TContextPopupEvent)(System::TObject* Sender, System::Types::TPoint MousePos, bool &Handled);
#endif /* _WIN64 */
Win64 でも Win32 でもコードが動作するためには、IDE で生成されるハンドラを、以下のように条件指令を使って宣言する必要があります。
#ifndef _WIN64
void __fastcall TForm46::FormContextPopup(TObject *Sender, TPoint &MousePos, bool &Handled)
#else
void __fastcall TForm46::FormContextPopup(TObject *Sender, TPoint MousePos, bool &Handled)
#endif
{
ShowMessage(System::String().sprintf(L"Mouse at (%d,%d)", MousePos.X, MousePos.Y));
}
BCC64 の最適化オプションを使用した場合の例外処理
最適化オプション -O2
を有効にして BCC64 コンパイラを使用すると、例外処理に関する問題が発生するおそれがあります。[プロジェクト|オプション...|C++ コンパイラ|最適化]でこのオプションを無効にすることができます。最適化オプションの詳細については、「[C++ コンパイラ|最適化]」を参照してください。
このオプションは、RAD Studio Berlin Subscription Update 1 には適用されません。
IDE
マルチデバイス フォーム デザイナではマスタ ビューからのみコンポーネントを削除可能
別のビュー([マスタ]ビュー以外)からコンポーネント(たとえば TButton など)を削除しようとすると、次のエラー メッセージが表示されます。
Selection contains a component, Button1, introduced in an ancestor and cannot be deleted
この問題を解決するには、コンポーネントの削除を[マスタ]ビューで行います。ビューの詳細については、「フォーム デザイナ」を参照してください。
名前を変更した iOS プロジェクトは実行時またはデバッグ時に失敗するおそれあり
IDE でプロジェクトの名前を変更すると、iOS アプリケーションが実行時やデバッグ時に失敗するおそれがあります。 この問題を解決するには、以下を行います。
- [プロジェクト|配置]を選択します。
- 配置マネージャで、[デフォルトに戻す]スピード ボタンをクリックします。
バージョン情報設定の継承
Windows をターゲットとするプロジェクトにバージョン情報を組み込むには、[すべてのプラットフォーム]ターゲットでのキー値を変更するのではなく、代わりに各プラットフォーム(32 ビットおよび 64 ビット)向けに値を個別に変更します。個々のターゲットでは、[すべてのプラットフォーム]ターゲットから値を正しく継承しません。
InterBase
RAD Studio Berlin の一部のエディションに InterBase XE7 エディションが付属している
この注意事項は、RAD Studio の旧バージョンと RAD Studio Berlin の両方が同じマシンにインストールされているユーザーを対象としたものです。この注意事項では 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 Seattle | InterBase XE7 |
RAD Studio Berlin | InterBase XE7 |
これらの RAD Studio ライセンス スイートはすべてシステム全体で参照できるので、使用できる InterBase のライセンスは常に 1 つだけです。
たとえば、RAD Studio XE6 に付属していた "InterBase XE3 Developer エディション"を実行している場合は、RAD Studio XE7 に付属している "InterBase XE3 Developer エディション" のインスタンスを同時に起動することはできません。また、RAD Studio Berlin に付属している "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 のライセンス エラーの回避策
- InterBase のインスタンスをすべて停止します。
- このインスタンスを Windows サービスとしてセットアップしてある場合は、それをシステムの[サービス]コントロール パネルでも無効にしてください。
- 使用したい InterBase のインスタンスを起動します。今度は、適切なライセンスで正常に起動します。
RAD Studio の上記の旧バージョンとそれらでビルドされたアプリケーションは、RAD Studio Berlin と一緒にインストールされる更新版の InterBase XE7 エディションとも連携できます。以前の IDE ツールおよびアプリケーションについては、この InterBase インスタンスへの TCP ループバックを通じて、お使いのデータベースに接続させます。次に例を示します。
localhost/gds_db:<dbpath>
RAD Studio の以前のバージョンでは、[ツール|オプション...|環境オプション|環境変数]を選択し、ローカル クライアント接続を行うための以下の[ユーザー定義環境変数]エントリを新しく追加してもよいでしょう。
変数 | 値 |
---|---|
IB_Protocol
|
gds_db
|
InterBase
|
C:\Program Files (x86)\Embarcadero\Studio\18.0\InterBaseXE7
|
外部ソフトウェア
Yandex Punto Switcher などのサードパーティ製キーボード切り替えツールが組み込まれている環境でデバッグされたアプリケーションの場合、問題が発生する可能性があります。Windows によりアプリケーションが終了し、アプリケーションでアクセス違反エラーが発生した場合、このアクセス違反エラーは無視してください。