XE8 の新機能
以前のリリースでの新機能 への移動
XE8、XE8 Subscription Update 1、XE8 General Update 1 リリースでは、以下のような新機能追加や既存機能改良が行われています。
目次
- 1 XE8 Update 1 の新機能
- 2 XE8 での FireMonkey の変更点
- 2.1 iOS での TListView、TSwitch、TMemo、TCalendar、TMultiView、TEdit のネイティブ表示
- 2.2 プラットフォームとスタイル付きコントロールとの相互運用性の向上
- 2.3 デスクトップ Web ブラウザ
- 2.4 対話型マップ
- 2.5 メディア ライブラリの新規オプション
- 2.6 TMediaPlayer の標準アクション
- 2.7 フォーム画面位置指定
- 2.8 InputQuery で入力フィールドのマスクをサポート
- 2.9 FireMonkey での AppAnalytics
- 2.10 ローカル通知のカスタマイズ
- 2.11 実行時に使用される Android ビューはターゲット デバイスのサイズに依存
- 2.12 デバイス フォト アルバムへの画像の保存
- 2.13 TImageList により画像の一元的なコレクションとしての画像リストを導入
- 2.14 FireMonkey API の新規追加および変更
- 3 XE8 でのランタイム ライブラリ(RTL)の変更点
- 4 XE8 での VCL の変更点
- 5 XE8 での Delphi の変更点
- 6 XE8 での C++ の変更点
- 7 XE8 での IDE の変更点
- 7.1 新しいターゲット プラットフォーム[iOS デバイス - 64 ビット]
- 7.2 [マルチデバイス プレビュー]
- 7.3 [デバイス マネージャ]
- 7.4 任意の iOS シミュレータでのアプリケーションの実行
- 7.5 [機能ファイル]ダイアログ ボックスの必要に応じた自動表示
- 7.6 [プロジェクト マネージャ]での Android 向け組み込み RAD Studio Java ライブラリの無効化
- 7.7 IDE への Mercurial バージョン管理システムの統合
- 7.8 設定移行ツール
- 7.9 iOS アプリケーション コード署名の新規オプション
- 7.10 32 ビット iOS と 64 ビット iOS を両方ともサポートする iOS バイナリを作成する新規オプション
- 7.11 [プッシュ通知の受信]資格は iOS アプリケーションにはもう不要
- 7.12 Castalia との統合
- 7.13 顧客エクスペリエンス プログラム
- 7.14 ビジュアル面の変更とカスタマイズ
- 8 XE8 でのデータベースおよび接続機能の変更点
- 9 XE8 での[ビットマップ スタイル デザイナ]の変更点
- 10 XE8 でのサードパーティ製ソフトウェアの変更点
- 11 XE8 でのデバッガの変更点
- 12 XE8 でのテスト フレームワークの変更点
- 13 XE8 でのグラフィック ユーティリティの変更点
- 14 XE8 でのアプリケーション サンプルの変更点
- 15 ヘルプの変更点
- 16 関連トピック
XE8 Update 1 の新機能
以下に目を通して、XE8 Subscription Update 1 と XE8 General Update 1 に含まれている機能の違いを確認してください。
- Subscription Update 1 は、アクティブなアップデート サブスクリプションに加入されているお客様に提供されています。
- General Update 1 は、アップデート サブスクリプションに加入されていない XE8 ユーザーのお客様に提供されています。
アップデート サブスクリプションの詳細については、こちらを参照してください。
XE8 Subscription Update 1 の新機能
Subscription Update 1 は、アクティブなアップデート サブスクリプションに加入されているお客様に提供されています。
- 新機能:
-
- コミュニティ ツールバー
- [ウェルカム ページ]の[お気に入りプロジェクト]セクション
- Bluetooth LE デバイスの高速検索
- iOS 8 シミュレータのサポート
- 具体的なバグ修正:
-
- IDE の生産性向上機能の堅牢性の向上
- [マルチデバイス プレビュー]の改良
- 多数の補足的な修正。修正の詳しい一覧については、EDN を参照してください。
XE8 General Update 1 の新機能
General Update 1 は、アップデート サブスクリプションに加入されていない XE8 ユーザーのお客様に提供されています。
- 新機能:
-
- コミュニティ ツールバー
- iOS 8 シミュレータのバグ修正
- XE8 の初回の配布物に含まれていなかったファイルの追加
XE8 Update 1 の機能
GetIt パッケージ マネージャ
GetIt ウィンドウの名前と、[ツール]メニュー内の GetIt パッケージ マネージャの名前が、GetIt パッケージ マネージャに更新されました。
GetIt には、[無料]、[購入可能]、[購入済み]の 3 つのフィルタ オプションが新しく追加されています。 これらオプションの詳細については、「GetIt パッケージ マネージャ ウィンドウ」を参照してください。
FireDAC の改良点
XE8 では、Unidirectional プロパティは読み取り専用の IsUniDirectional プロパティと同期しています。
TFDQuery や TFDTable の Unidirectional プロパティの値を変更すると、FireDAC データセットを単方向データセットに変換できます。
新規の Embarcadero コミュニティ ツールバー
新規の Embarcadero コミュニティ ツールバーを使用すれば、Embarcadero コミュニティに簡単に接続できます。このツールバーは IDE の右上隅にあります。
[表示|ツールバー|Embarcadero コミュニティ]を選択すると、このツールバーを表示または非表示にすることができます。
このツールバーの詳細については、「Embarcadero コミュニティ ツールバー」を参照してください。
[ウェルカム ページ]の[お気に入りプロジェクト]セクション
[ウェルカム ページ]には、[お気に入りプロジェクト]セクションが含まれています。このセクションにお気に入りプロジェクトを追加できます。お気に入りプロジェクトの追加および削除の方法については、「[お気に入りプロジェクト]」([ウェルカム ページ]」トピック)を参照してください。
XE8 での FireMonkey の変更点
FireMonkey 当社エンバカデロ・テクノロジーズ独自のオブジェクト指向プログラミング ライブラリ(クラス、メソッド、プロパティなど)です。
iOS での TListView、TSwitch、TMemo、TCalendar、TMultiView、TEdit のネイティブ表示
FireMonkey では、iOS ターゲット プラットフォームで、TListView、TSwitch、TMemo、TCalendar、TMultiView、TEdit の各コントロールについてスタイル付き表示とネイティブ表示の両方をサポートするようになりました。
- デフォルトでは、これらのコンポーネントのいずれをフォーム デザイナに追加しても、RAD Studio では
Styled
の表示が使用されます。 - iOS ターゲット プラットフォームでネイティブ表示を使用するには、新規の ControlType プロパティを
Platform
に設定します。
詳細については、TPresentedControl.ControlType、TListViewBase.ControlType、および 「FireMonkey のネイティブ iOS コントロール」を参照してください。
プラットフォームとスタイル付きコントロールとの相互運用性の向上
iOS でのネイティブ表示をまだサポートしていないいくつかのコントロールで、ControlType プロパティが使用可能になりました。
- ControlType プロパティの値は iOS プラットフォームでのみ使用され、その他のすべてのプラットフォームでは無視されます。
- これで、ControlType プロパティを持っているスタイル付きコントロールは、TPanel、TButton、TSpeedButton、TCornerButton、TCheckBox、TRadioButton、TGroupBox、TStatusBar、TToolBar、TProgressBar、TTrackBar、TArcDial になりました。
- これらのコントロールの ControlType プロパティを Platform に設定することにより、それらをプラットフォーム コントロール(TWebBrowser コントロールや TMediaPlayer コントロールなど)と同じ Z 順序の平面に描画できるようになります。
デスクトップ Web ブラウザ
FireMonkey では、デスクトップ プラットフォーム(Windows および Mac OS X)で TWebBrowser コンポーネントを使用できるようになりました。これまでは TWebBrowser はモバイル プラットフォーム(Android および iOS)でのみサポートされていました。 Web ブラウザの基本機能(指定 URL への移動、戻る、進む、など)がすべて使用可能です。詳細については、「モバイル チュートリアル:Web ブラウザ コンポーネントを使用する(iOS および Android)」を参照してください。
対話型マップ
モバイル プラットフォーム(Android および iOS)上の FireMonkey では、モバイル アプリケーションに対話型マップを追加する TMapView コンポーネントをサポートしています。このコンポーネントの基本機能は次のとおりです。
- 4 種類の地図: 標準、衛星写真、ハイブリッド、(Android 限定の)地形図
- ジェスチャ制御: 直観的なチルト、回転、ズームのジェスチャによる制御。
- マップ ビューの制御: 地図の中心座標や向きなどの地図の特性を制御できます。
- カスタム マーカー: 地図にマーカーを追加できます。
重要: Android アプリケーションで TMapView を使用するには、Google Maps API キーを取得する必要があります。有効な API キーがない場合、実行時エラーが発生します。Google Maps API キーの取得についての詳細は、「Google マップを使用できるよう Android アプリケーションを構成する」を参照してください。
詳細と例については、「モバイル チュートリアル:マップ コンポーネントを使用して地図を操作する(iOS および Android)」を参照してください。
メディア ライブラリの新規オプション
FireMonkey では、デバイス カメラで撮影した写真をデバイスのフォト ライブラリに保存するオプションを提供するようになりました。
アプリケーションで FireMonkey のアクションか IFMXCameraService インターフェイスのどちらかを使って写真を処理する場合は、TCustomTakePhotoAction.NeedSaveToAlbum プロパティか TParamsPhotoQuery 型のパラメータを使用して、アプリケーションで写真が自動的にデバイスのフォト ライブラリに保存されるようにすることができます。
さらに、FireMonkey には任意のビットマップ画像をデバイスのフォト ライブラリに保存できる IFMXPhotoLibrary インターフェイスが用意されています。
詳細情報とコード例については、以下を参照してください。
- アクション リストを使用して写真を撮って共有する、テキストを共有する
- FireMonkey インターフェイスを使用して写真を撮る
- IFMXPhotoLibrary.AddImageToSavedPhotosAlbum
TMediaPlayer の標準アクション
FireMonkey では、次の標準アクションが提供されており、これを使用して、TMediaPlayer のどのインスタンスも制御できるようになりました。
フォーム画面位置指定
フォーム画面位置指定機能が FireMonkey プロジェクトで使用可能になりました。フォーム画面位置指定機能を使用すると、アプリケーションの設計時にフォームどうしの位置関係を指定できます。デザイナ右下の[フォーム画面位置]に、実行時に画面のどの位置にフォームが表示されるかが示されます。
InputQuery で入力フィールドのマスクをサポート
InputQuery では、入力データが画面上でマスクされる(表示されない)ようにフィールドにマークを付けることができようになりました。フィールドにマークを付けるには、InputQuery 呼び出しのフィールド名の先頭に
- Delphi の場合: "#1" を付けます。たとえば、'Password' というフィールド名の代わりに #1'Password' というフィールド名を使用します。
- C++ の場合: "\1" を付けます。たとえば、"Password" というフィールド名の代わりに "\1Password" というフィールド名を使用します。
FireMonkey での AppAnalytics
FireMonkey で AppAnalytics がサポートされるようになりました。これを使用すると、アプリケーションの使用状況を追跡することができます。それには、アプリケーションに TAppAnalytics コンポーネントをドロップし、そのコンポーネントのいくつかのオプションを設定するだけです。TAppAnalytics がアクティブになったら、数分後には AppAnalytics Web インターフェイスで使用状況データが得られます。
- AppAnalytics は完全に匿名であり、個人情報の収集や送信を行いません。
- 詳細については、以下を参照してください。
ローカル通知のカスタマイズ
カスタム通知音
SoundName フィールドの値を設定することにより、カスタム通知音を設定できます。 詳細については、「モバイル チュートリアル:通知を使用する(iOS および Android)」を参照してください。
通知の繰り返し
RepeatInterval プロパティの値を設定することにより、スケジュールされた通知を一定時間繰り返すことができます。 詳細については、「モバイル チュートリアル:通知を使用する(iOS および Android)」を参照してください。
実行時に使用される Android ビューはターゲット デバイスのサイズに依存
次の 2 つの表では、適合する Android ビューを実行時に選択するためのアルゴリズムと、各ビューに適合する Android デバイス サイズの範囲について、それぞれ説明しています。
- ビュー読み込みアルゴリズム: FireMonkey ビューの使用(「ビューの読み込みのアルゴリズム」セクション)
- 各 Android ビューに適合するデバイス サイズの範囲: FireMonkey ビューの使用(「各 Android ビューに一致するデバイス サイズの範囲」セクション)
デバイス フォト アルバムへの画像の保存
FireMonkey には、システムのフォト アルバムに画像を保存するための IFMXPhotoLibrary インターフェイスが用意されるようになりました。
- デバイスのフォト アルバムにビットマップ画像を保存するには、AddImageToSavedPhotosAlbum を使用します。
デバイス フォト アルバムへの画像の保存方法の詳細については、MediaLibrary.IFMXPhotoLibrary および IFMXPhotoLibrary.AddImageToSavedPhotosAlbum の API ドキュメントを参照してください。
TImageList により画像の一元的なコレクションとしての画像リストを導入
FireMonkey では、新しいコンポーネント FMX.ImgList.TImageList を通じて画像リストを提供するようになりました。画像リストは、FireMonkey アプリケーションの GUI 要素(コントロールやメニューなど)で小さい画像の一元的なコレクションを使用するためのあらゆる機能を備えたツールとなります。FireMonkey の TImageList は VCL の Vcl.Controls.TImageList と同じ目的にかなうものですが、より高度な機能を提供し、マルチプラットフォームの FireMonkey アプリケーションでさらに使いやすくなっています。
リスト内の各画像はいくつかの多重解像度ビットマップを使って作成されるので、デバイス画面の密度や解像度が異なっても画像が必ず正しく表示されます。画像リスト エディタを使用すれば、FireMonkey 画像リストを用意および変更できます。
詳細については、「画像の一元的なコレクションとしての TImageList 画像リストの使用」や「FMX.ImageList のサンプル」を参照してください。
FireMonkey API の新規追加および変更
新しい OnFilter イベント
検索ボックスにカスタム フィルタを設定するための OnFilter イベントが FireMonkey から新しく提供されています。
新しい OnFilter イベントの詳細については、TListViewBase.OnFilter および TSearchBoxModel.OnFilter を参照してください。
カメラのカスタム高品質キャプチャの設定
TVideoCaptureQuality には、カメラのカスタム高品質キャプチャ設定用の値 CaptureSettings
が新しく追加されました。
- TCameraComponent: カスタムのキャプチャ データ解像度を設定するには、TCameraComponent.Quality プロパティを使用します。
- TCameraComponent.AvailableCaptureSettings を使用すると、可能な品質設定構成を
Resolution
かFrameRate
のどちらかを優先させて並べ替えた配列を取得できます。 - 詳細については、以下を参照してください。
- TCameraComponent.AvailableCaptureSettings を使用すると、可能な品質設定構成を
- TVideoCaptureDevice: カスタムのキャプチャ データ解像度を設定するには、TVideoCaptureDevice.Quality プロパティを使用します。
- TVideoCaptureDevice.AvailableCaptureSettings を使用すると、可能な品質設定構成を
Resolution
かFrameRate
のどちらかを優先させて並べ替えた配列を取得できます。 - 詳細については、以下を参照してください。
- TVideoCaptureDevice.AvailableCaptureSettings を使用すると、可能な品質設定構成を
新規の TBoundingBox クラス
TBoundingBox は新規クラスで、TRectF と似ていますが、3D で使用するためのものです。これは、ボックスを記述する最大および最小頂点を格納するレコード型を定義しています。
このクラスには、原点、一連の点、座標、既存の TBoundingBox のいずれかを指定して TBoundingBox インスタンスを作成できるいくつかのコンストラクタがあります。このクラスに用意されているメソッドには、その他に、GetSize、Inflate、IntersectsWith、Contains、Normalize などがあります。
iOS ネイティブ リスト ビューの PullRefreshWait プロパティ
新しい PullRefreshWait プロパティでは、PullToRefresh が True
のときにアニメーション化された回転インジケータが表示され、自動的に消えるかどうかを設定することができます。
PullRefreshWait を True
に設定した場合、必要に応じて、StopPullRefresh メソッドを呼び出して、アニメーション化された回転インジケータを非表示にする必要があります。
PullRefreshWait プロパティはネイティブ iOS コントロール専用です。
XE8 でのランタイム ライブラリ(RTL)の変更点
新しい HTTP クライアント API
RTL には、HTTP クライアントの作成、HTTP サーバーへの要求の送信、HTTP サーバーからの応答の処理に使用できるコンポーネントで構成される新しいネットワーク関連ユニットがいくつか用意されています。
「HTTP クライアントの使用」では、2 つの新しい HTTP コンポーネント TNetHTTPClient および TNetHTTPRequest を使用して HTTP 要求を処理する方法について説明しています。また、次の主要な HTTP クライアント クラスも参照してください。
- THTTPClient -- HTTP クライアントを表します。
- THTTPRequest -- クライアントからサーバーへの要求を表します。
- THTTPResponse -- クライアントからの要求に対するサーバーの応答を表します。
ビーコンのサポート
RTL では、ビーコンの使用をサポートするようになりました。ビーコンは、アドバタイズ データに何らかのメーカー固有データ(Manufacturer Specific Data)を含んでいる Bluetooth LE デバイスで、その情報を受信するあらゆるデバイスは、このビーコン デバイスを識別し、そのデバイスとペアになったり接続することなく、それに対する距離を計算できるようになります。
使用可能な次の 2 種類のビーコン形式がサポートされています。
「ビーコンの使用」では、ビーコン アプリケーションの実装方法について説明しています。
新規の クラシック Bluetooth コンポーネント
System.Bluetooth.Components ユニットでは新規コンポーネント TBluetooth を提供するようになりました。この新規コンポーネントにより、コンポーネントベースのアプローチを用いてアプリケーションでクラシック Bluetooth を使用することができます。
この新規コンポーネントの使用方法については、「クラシック Bluetooth の使用」を参照してください。
新しいハッシュ API
RTL には新しいユニット System.Hash があります。このユニットには、アプリケーションで次のハッシュ関数を使用できるようにするクラスやメソッドが含まれています。
新しい Delphi データ型 FixedInt および FixedUInt
プラットフォームに依存しない次の 2 つの 32 ビット整数型が XE8 に新しく導入されています。
FixedInt と FixedUInt により、移植性、統合の向上、32 ビット プラットフォームおよび 64 ビット プラットフォームとの相互運用性が確保されます。これら 2 つの新しい型を使用すると、アプリケーションは Delphi にも C++ にも対応できます。
FixedInt と FixedUInt のサイズは、すべての 64 ビットおよび 32 ビット プラットフォーム(64 ビット iOS、64 ビット Windows、32 ビット Windows、OSX32、32 ビット iOS、Android)で 32 ビットです。さまざまなプラットフォームでの同等の型を次の表に示します。
他のプラットフォームにおける同等の型 | ||
---|---|---|
Windows プラットフォーム (32 ビットおよび 64 ビット Windows) |
OSX32、Android プラットフォーム iOS プラットフォーム(32 ビットおよび 64 ビット iOS) | |
FixedInt | LongInt | Integer |
LongWord | Cardinal |
詳細については、以下を参照してください。
64 ビット iOS プラットフォームでの LongInt および LongWord のサイズの変更
LongInt と LongWord はプラットフォーム依存の整数型になりました。
64 ビット iOS プラットフォームでは、次のように、LongInt と LongWord のサイズが、32 ビット プラットフォーム(32 ビット Windows、OSX32、32 ビット iOS、Android)と 64 ビット Windows プラットフォームでサポートされているサイズの 2 倍になっています。
サイズ | ||
---|---|---|
32 ビット プラットフォームおよび 64 ビット Windows プラットフォーム | 64 ビット iOS プラットフォーム | |
LongInt | 32 ビット(4 バイト) | 64 ビット(8 バイト) |
LongWord |
32 ビット(4 バイト) | 64 ビット(8 バイト) |
詳細については、「プラットフォーム依存の整数型」を参照してください。
非同期プログラミング ライブラリ
RTL では、TComponent 内での非同期プログラミングをサポートしています。
詳細については、「非同期プログラミング ライブラリの使用」を参照してください。
XE8 での VCL の変更点
SetApplicationMainFormOnTaskBar が Vcl.Forms.hpp から削除
C++ で作成した既存の VCL アプリケーションがある場合は、次の行を
SetApplicationMainFormOnTaskBar(Application, true);
次の行に置き換える必要があります。
Application->MainFormOnTaskBar = true;
詳細については、以下を参照してください。
VCL での AppAnalytics
VCL では、TAppAnalytics コンポーネントをサポートするようになりました。AppAnalytics を使用すると、アプリケーションの使用状況を追跡することができます。それには、アプリケーションに TAppAnalytics コンポーネントをドロップし、そのコンポーネントのいくつかのオプションを設定するだけです。 AppAnalytics がアクティブになったら、数分後には AppAnalytics Web インターフェイスで使用状況データが得られます。 AppAnalytics では、個人情報の収集や送信を行いません。情報は完全に匿名になっています。
詳細については、「AppAnalytics の概要」を参照してください。
新しい VCL スタイル
XE8 には新しい VCL スタイルが 3 つ含まれています。つまり、Glow、Sky、Tablet Light です。
これらの VCL スタイルにアクセスするには、 [プロジェクト|オプション...|アプリケーション|表示]を選択します。
XE8 での Delphi の変更点
64 ビット iOS デバイス用の新しいコンパイラ DCCIOSARM64.EXE
DCCIOSARM64.EXE コンパイラは、64 ビット iOS アプリケーションの開発をサポートしている新しい NEXTGEN コンパイラです。
App Store の要請により、今では、32 ビット iOS アプリケーションは 64 ビット iOS デバイスもサポートする必要があることに注意してください。 詳細については、「32 ビット iOS と 64 ビット iOS を両方ともサポートする iOS バイナリを作成する新規オプション」を参照してください。
ユニバーサル iOS アプリケーション: DCCIOSARM64 では、[<プロジェクト名> のプロジェクト オプション]ダイアログ ボックスの[コンパイル]ページで新しいオプション[iOS ユニバーサル バイナリ ファイルの生成 (armv7 + arm64)]をサポートしています。
このオプションを True に設定すると、32 ビット iOS デバイスでも 64 ビット iOS デバイスでも動作するユニバーサル iOS アプリケーションが生成されるようになります。このオプションは、[ターゲット プラットフォーム]が[iOS デバイス - 64 ビット]である場合にのみ使用可能です。
「条件付きコンパイル(Delphi)」も参照してください。
2 つの新しいデータ型: FixedInt および FixedUInt
詳細は、「新しい Delphi データ型 FixedInt および FixedUInt」を参照してください。
XE8 での C++ の変更点
BCCIOSARM64.EXE: 64 ビット iOS デバイス 向けの新しい Clang 拡張 C++ コンパイラ
64 ビット iOS アプリケーションを生成する新しい C++ コンパイラ BCCIOSARM64.EXE が追加されました。
App Store の要請により、今では、32 ビット iOS アプリケーションは 64 ビット iOS デバイスもサポートする必要があることに注意してください。RAD Studio では、ユニバーサル 32 ビット/64 ビット iOS アプリケーションを作成するためのオプションが提供されています。 詳細については、「32 ビット iOS と 64 ビット iOS を両方ともサポートする iOS バイナリを作成する新規オプション」を参照してください。
BCCIOSARM64 では、新しい定義済みマクロ __arm64__
をサポートしています。64 ビット iOS ターゲット プラットフォームに固有のコードを記述するには、以下のように使用します。
#if defined (__arm64__)
...
#endif
x64(iOS および Windows)に固有のコードを記述するには、以下のように使用します。
#if defined(__clang__) && (__POINTER_WIDTH__ == 64)
...
#endif
詳細については、「定義済みマクロ」を参照してください。
実行時パッケージを組み込む際には完全修飾名が必要
VCL または FireMonkey C++ アプリケーションのビルド時に、IDE ではパッケージ分析を実行します。つまり、アプリケーションで必要になる(または使用される)パッケージを、インクルードされているヘッダーから推測します。XE8 以前は、ヘッダーに対応するパッケージを決定する際に、IDE ではベース名が使用されていました。たとえば、アプリケーションで SysUtils.hpp
をインクルードしている場合、そのことから IDE では、アプリケーションで rtl
パッケージが使用されることを推測します。同様に、#include ActnCtrls.hpp
という文があれば、アプリケーションで vcl
パッケージが使用されることになります。
ただし、ベース名の使用には欠点もあります。アプリケーションで About.h|hpp
というヘッダーをインクルードしている場合、FireDac UI パッケージが必要と誤って推測されるおそれがあります。このパッケージには FireDAC.VCLUI.About.hpp
というユニットが含まれているからです。同様に、assert.h
をインクルードすると、IDE は DUnitXRuntime パッケージをリンクするおそれがあります(このパッケージには DUnitX.Assert
というユニットが含まれているからです)。
修飾名でのマッチングのみ実行
XE8 以降、IDE では、パッケージ内のユニットの修飾名(完全名)を指定した #include
文が含まれている場合にのみ、そのパッケージを必要と見なすようになりました。つまり、#include <XMLDoc.hpp>
という文が含まれていても、IDE では、Xml
パッケージが必要であるとは判断しません。IDE では、"#include <Xml.XMLDoc.hpp>
" のように完全修飾名で指定された場合にのみ、xmlrtl
パッケージを組み込みます。
この変更は新規プロジェクトにのみ影響
今回の変更が適用されるのは、新規プロジェクトの場合、または、これまで使用したことがないパッケージを既存プロジェクトで使用するようになった場合です。
この変更は既存のプロジェクトには影響を及ぼしません。これらのプロジェクトに必要なパッケージは既に決定され、その情報がプロジェクト ファイル(<プロジェクト名>.cbproj
)に保存されているからです。
新しく定義されたマクロ
完全修飾パッケージ名の使用を監視しやすくするため、次の 2 つのマクロが新しく定義されました。
- WARN_LEGACY_HEADER_USAGE -- 非修飾名のヘッダーがインクルードされている場合に警告を発生させます。
- ERROR_LEGACY_HEADER_USAGE -- 非修飾名のヘッダーがインクルードされている場合にエラーを発生させます。
#define WARN_LEGACY_HEADER_USAGE
を追加してから、「#include <SysUtils.hpp>
」と入力すると、ビルドの際に、次の警告が表示されます。
Include <System.SysUtils.hpp> instead
#define ERROR_LEGACY_HEADER_USAGE
を追加してから、「#include <SysUtils.hpp>
」と入力すると、ビルドの際に、次のエラー メッセージが表示されます。
Fatal F1003 $BDS\include\windows\rtl\SysUtils.hpp 8: Error directive: Include 'System.SysUtils.hpp' instead *** 1 errors in Compile ***
DynamicArray:インスタンス生成と初期化がより簡単に
これまでは、次の例のように、DynamicArray の長さをセットアップしてから、要素を追加しなければなりませんでした。
DynamicArray<int> test;
test.Length = 3;
test[0] = 1;
test[1] = 2;
test[2] = 3;
現在では、Clang 拡張 C++ コンパイラを使用する場合は、次の例のように、動的配列のインスタンス生成と初期化を同時に行えるようになりました。
DynamicArray<int> test = {0, 1, 2};
BCC32 の場合は、配列のインスタンス生成と初期化を次のように行えます。
DynamicArray<int> test(0, 1, 2);
この新しい構文は、C++11 std::initializer_list を使用して実装されています。
新しい形式
弊社のすべての C++ コンパイラの場合
普通の C++ 配列を使用した場合:
// template <size_t SIZE> System::DynamicArray(T(&array)[SIZE]);
int values[] = { 1, 2, 3, 4, 5 };
System::DynamicArray<int> h(values);
C++11 初期化リストを使用した場合:
// System::DynamicArray(std::initializer_list<T> il);
System::DynamicArray<char> ArrayOfChars('a', 'b', 'c');
System::DynamicArray<int> ArrayOfInts(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18);
C++11 可変個引数テンプレート化コンストラクタを使用した場合:
// template <class... Types> System::DynamicArray(const T &t, Types && ...values);
System::DynamicArray<char> c('a'); // t='a', ...values=<>
System::DynamicArray<char> d('a', 'b', 'c'); // t='a', ...values=<'b', 'c'>
BCC32 の場合
BCC32 では C++11 の統一初期化をサポートしていないため、次のように、2 個から最大 19 個までのパラメータのコンストラクタ オーバーロードが追加されました。
// System::DynamicArray(const T &t0, const T &t1, const T &t2);
System::DynamicArray<char> f('a', 'b', 'c');
// System::DynamicArray(const T &t0, const T &t1, const T &t2, const T &t3,
// const T &t4, const T &t5, const T &t6, const T &t7,
// const T &t8, const T &t9, const T &t10, const T &t11,
// const T &t12, const T &t13, const T &t14, const T &t15,
// const T &t16, const T &t17, const T &t18);
System::DynamicArray<int> g( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18);
詳細は、「構造化型」を参照してください。
SetApplicationMainFormOnTaskBar が Vcl.Forms.hpp から削除
詳細については、「XE8 での VCL の変更点」を参照してください。
Boost がインストーラ以外で入手可能に
Boost ライブラリは製品インストーラの一部ではなくなりました。 [ツール|GetIt]を選択して GetIt メイン ウィンドウを開き、その後、[GetIt から Boost をインストール]を選択することで、Boost は簡単に取得することができます:
Boost のそれ以外のインストール(またはアンインストール)方法については、「Boost」を参照してください。
Delphi 無名メソッドの新しい扱い方
C++ アプリケーションにおける Delphi 無名メソッドの取り扱いの推奨方法が更新されました。「C++ での Delphi 無名メソッドの扱い方」トピックの改訂後の記述では、ファンクタ(関数オブジェクト)かラムダ式のどちらかを使用しています。このトピックのコード例を参照してください。
Delphi の暗黙の演算子と同じように機能する C++ の代入演算子
Delphi で暗黙の演算子を使用するのと同じように、C++ では、operator=
を結果型への代入に使用することができます。
たとえば、TValue 型の変数 myVar
がある場合、Delphi では、次のように、この変数にさまざまな型の値を代入することができます。
a := 'assigning a string';
a := 123;
a := 3.14;
これまで C++ では、代入演算子を使用せずに、上記と同等のコードを次のように記述する必要がありました。
a = TValue::_op_Implicit(UnicodeString(L"assigning a string"));
a = TValue::_op_Implicit(123);
a = TValue::_op_Implicit(3.14L);
これを、C++ では、代入演算子を使って次のように記述できるようになりました。
a = UnicodeString(L"assigning a string");
a = 123;
a = 3.14L;
詳細については、「Delphi の暗黙の演算子のように機能する C++ の代入演算子」を参照してください。
XE8 での IDE の変更点
新しいターゲット プラットフォーム[iOS デバイス - 64 ビット]
64 ビット iOS デバイス プラットフォーム向けにアプリケーションを新規作成するために:
- 新しい[iOS デバイス - 64 ビット]が[プロジェクト マネージャ]の[ターゲット プラットフォーム]として追加されました。
- 新しい[iOS デバイス - 64 ビット]プラットフォームの SDK を追加できます。
- Delphi または C++ アプリケーションを 64 ビット iOS デバイス向けにコンパイルできます。
- App Store では、64 ビット iOS デバイスをサポートしているアプリケーション アーカイブ ファイルのみ受理します。RAD Studio では、32 ビットと 64 ビットを両方ともサポートしている iOS ユニバーサル バイナリ ファイルを生成することができます。
[マルチデバイス プレビュー]
新しい[マルチデバイス プレビュー]ウィンドウでは、さまざまなデバイスでのアプリケーションの外見をプレビューできます。[マルチデバイス プレビュー]には、複数のデバイスでのデザイン領域のプレビューが同時に表示されます。プレビューするデバイスを選択できます。
[マルチデバイス プレビュー]ウィンドウを開くには、[表示|マルチデバイス プレビュー]を選択します。
この機能の詳細については、「[マルチデバイス プレビュー]」を参照してください。
[デバイス マネージャ]
[デバイス マネージャ]には、使用可能な設定済みデバイスのグリッドが表示されます。これらの設定済みデバイスは、設計時に[マルチデバイス プレビュー]ウィンドウなどに表示される使用可能なデバイスの一覧です。
[デバイス マネージャ]を開くには、[ツール|オプション...|環境オプション|フォーム デザイナ|デバイス マネージャ]を選択します。
[デバイス マネージャ]では、[デバイスの設定]ウィンドウを使って設定済みデバイスの追加、編集、削除を行えます。
また、これらの設定済みデバイスは、マルチデバイス プロジェクトのビューとして使用することもできます。ただし、そのビューのパッケージをインストールすることによりビューが既に登録されている場合に限ります。
[デバイス マネージャ]では DevicePresets.xml
ファイルを管理します。
- メモ: XE8 で、
MobileDevices.xml
ファイルがDevicePresets.xml
に名称変更されました。
任意の iOS シミュレータでのアプリケーションの実行
[プロジェクト マネージャ]の[iOS シミュレータ]プラットフォーム ノードの[ターゲット]ノードには、お使いの Mac にインストールされている Xcode でサポートされているシミュレータの完全なリストが表示されるようになりました。また、[プロジェクト マネージャ]には、各シミュレータの iOS バージョンも表示されます。サポートされている iOS バージョンのいずれかを搭載した指定のデバイス モデルでアプリケーションを実行できます。
[機能ファイル]ダイアログ ボックスの必要に応じた自動表示
プロジェクトの配置構成に機能ファイルをいくつか追加しなければならなくなる可能性のあるファイルを[プロジェクト マネージャ]に追加すると、RAD Studio では[機能ファイル]ダイアログ ボックスのフィルタ処理済みビューが開くようになったため、必要な機能ファイルをプロジェクトの配置構成に含めることができます。詳細については、「[機能ファイル]のリストのフィルタ処理」を参照してください。
[プロジェクト マネージャ]での Android 向け組み込み RAD Studio Java ライブラリの無効化
XE8 では、プロジェクト マネージャに Android 用組み込み RAD Studio Java ライブラリがリスト表示され、それらライブラリのどれでも無効化することができます。アプリケーションに必要ない Java ライブラリを無効にして、アプリケーションを軽くすることができます。 詳細については、「Android 向けの組み込み Appmethod Java ライブラリの使用」を参照してください。
XE7 では、[プロジェクト マネージャ]を使って、Android アプリケーションにカスタム Java ライブラリをたやすく追加できました。ただし、RAD Studio では Android アプリケーションにデフォルトで組み込まれている不要な Java ライブラリを削除するには、カスタム classes.dex
ファイルを手動で作成および配置する必要がありました。
IDE への Mercurial バージョン管理システムの統合
RAD Studio では、プロジェクトにおける変更を管理および追跡するためのバージョン管理システムとして、新たに Mercurial 分散バージョン管理システムをサポートするようになり、それが IDE に統合されています。
履歴マネージャには、統合された Mercurial バージョン管理ログ情報がローカル リポジトリから得られ表示されるようになりました。プロジェクトの変更は追跡され、その詳細を[内容]、[情報]、[差分]の各タブで参照できます。
Mercurial を使用すると、以下が可能になります。
XE8 では、下記の Git 機能が IDE に追加されました。
IDE に統合されているバージョン管理システムの詳細については、以下を参照してください。
設定移行ツール
RAD Studio XE8 に付属している新しい設定移行ツールにより、RAD Studio と Appmethod の間およびこれらの製品の異なるバージョン間で構成設定のインポートとエクスポートを行えます。
移行ツールでは Borland Delphi 7 以降のあらゆるバージョンをサポートしています。
設定移行ツールでは、以下を実行できます。
- 設定を移行ファイルにエクスポートする:
.idesettings
拡張子の XML エクスポート ファイルを生成します。 - 設定を移行ファイルからインポートする:
.idesettings
拡張子のエクスポート済み XML ファイルをインポートします。 - 設定を新しい製品バージョンに移行する: 同じマシンにインストールされている新しいバージョンの RAD Studio に設定を自動的に移行します。
- 設定をバックアップから復元する: 設定が上書きされる前に、RAD Studio によりバックアップが自動的に作成されます。バックアップ済みの任意の設定を復元できます。
migrationtool.exe ツールは C:\Program Files (x86)\Embarcadero\Studio\16.0\bin
にあります。
詳細については、「設定移行ツール」を参照してください。
iOS アプリケーション コード署名の新規オプション
RAD Studio で iOS アプリケーションのコード署名に使用される署名データを選択できるようになりました。
[プロビジョニング]ページで、iOS デバイス ビルドの種類(開発、アドホック、アプリケーション ストア)のいずれに対しても、次のオプションを選択できます。
- [プロビジョン プロファイル]: ターゲット デバイスにインストールされるプロビジョニング プロファイルの名前です。
- [デベロッパ証明書]: Mac にインストールされるデベロッパ証明書または配布用証明書です。
これらの値のいずれかを[<自動>]
のままにしておく場合、RAD Studio では、CFBundleIdentifier およびターゲット デバイスと一致する適切なプロビジョニング プロファイルおよびデベロッパ証明書を選択します。詳細については、「[プロビジョニング]ページに必要な情報をすべて入力する」を参照してください。
32 ビット iOS と 64 ビット iOS を両方ともサポートする iOS バイナリを作成する新規オプション
2015 年 2 月 1 日以降、App Store に提出される新しい iOS アプリケーションはすべて 64 ビット iOS をサポートする必要があります。つまり、32 ビット iOS を搭載するデバイスをターゲットとするアプリケーションは 64 ビット iOS もサポートする必要があります。
IDE には、64 ビット iOS ターゲット プラットフォーム用の新しいコンパイラ オプション[iOS ユニバーサル バイナリ ファイルの生成 (armv7 + arm64)]が用意されています。
このオプションを有効にすると、32 ビット iOS と 64 ビット iOS を両方ともサポートするファット バイナリがアプリケーションの配置時に IDE により生成されるようになります。
このオプションの場所は次のとおりです。
- [プロジェクト|オプション...|Delphi コンパイラ|コンパイル|その他のオプション](Delphi の場合)
- [プロジェクト|オプション...|C++ コンパイラ|拡張|その他のオプション](C++ の場合)
[プッシュ通知の受信]資格は iOS アプリケーションにはもう不要
iOS アプリケーションでプッシュ通知メッセージを受信できるようにするために、追加の[資格リスト]プロジェクト オプションを設定する必要はありません。
RAD Studio では、アプリケーションのインストール先のデバイスでプッシュ通知サービスを可能にするプロビジョニング プロファイルを使って、iOS アプリケーションにコード署名します。
詳細については、「プッシュ通知」を参照してください。
Castalia との統合
XE8 には Castalia が統合されており、IDE に専用メニューが用意されています。Castalia により、一部の作業をより簡単に実行できる機能が追加されます。Castalia の機能は次の 4 つに分類されます。
- ビジュアル機能: コードの構造と実行フローをより明確に把握するためのビジュアル要素がコード エディタに追加されました。
- コード エディタ内のコントロール: コードのナビゲーションに役立つコントロールが IDE に追加されました。
- 非ビジュアル機能: コードの作成中に使用するための機能を提供するショートカット セットです。
- Castalia のメニュー:機能およびコードの統計情報で、新しい専用メニューからアクセスできます。
Castalia の概要には、Castalia の機能の使用方法が表示されます。
顧客エクスペリエンス プログラム
IDE には、顧客エクスペリエンス プログラムに参加するための新しいオプションが統合されています。お客様は、このプログラムに参加して当社 Embarcadero による RAD Studio の改善にご協力いただくことができます。
顧客エクスペリエンス プログラムでは、セッション中の IDE の使用状況(RAD Studio の起動頻度、IDE でのナビゲーションなど)に関する情報が収集されます。この情報は完全に匿名になっています。このプログラムでは個人情報の収集や送信を行わないからです。
このオプションの場所は次のとおりです。
- [ツール|オプション...|環境オプション|顧客エクスペリエンス プログラム]
詳細については、「顧客エクスペリエンス プログラム」トピックを参照してください。
ビジュアル面の変更とカスタマイズ
XE8 では、IDE の外見が変わりました。IDE の外見のカスタマイズ方法については、「IDE ビジュアル設定のシステム レジストリ キー」を参照してください。 変更点のいくつかを元に戻して XE8 IDE の外見を XE7 IDE の外見に近づけるには、次の手順に従います。
- 新規のテキスト ドキュメントを作成し(任意のテキスト エディタを使用できます)、それに次のテキストをコピーします。 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Embarcadero\BDS\16.0\ModernTheme] "FontName"="MS Sans Serif" "FontSize"=dword:00000008 "MainToolBarColor"="clBtnFace"
- このファイルを
.reg
拡張子で保存します。 - このファイルを実行します。レジストリの変更に関する警告が表示されます。変更を適用するには、これを受け入れる必要があります。
-
- メモ: レジストリ スクリプト ファイルを実行できるようにするには、管理者権限が必要な場合があります。レジストリ値を設定または変更したときに IDE が開いていた場合は、新しい値が有効になるように IDE を再起動する必要があります。
-
XE8 でのデータベースおよび接続機能の変更点
FireDAC の変更点
- Teradata Database ODBC ドライバに基づいた新しい FireDAC Teradata Database ネイティブ ドライバ(
TData
)が用意されています。「Teradata Database への接続」を参照してください。 - XE8 では、FireDAC SQLite ドライバが更新されています。詳細については、「SQLite データベースへの接続(FireDAC)」を参照してください。
- 既存の dbExpress アプリケーションを移行すると、FireDAC などの新しいデータベース技術を利用できます。移行については、「dbExpress アプリケーションの FireDAC への移行」を参照してください。
- dbExpress Delphi アプリケーションを移行するには、「dbExpress アプリケーションの移行(FireDAC)」で示した手順に従います。
API の下記の変更に対応するように既存の FireDAC コードを更新しなければならない可能性があります。
基底メンバ* | 変更点 |
---|---|
FireDAC.Comp.Client.TFDAdaptedDataSet.OnError |
XE7 では、 XE8 では、 |
XE7 では、第 2 パラメータは XE8 では、第 2 パラメータは | |
XE7 では、 XE8 では、 |
- * 変更点は、上記のメンバを継承したメンバにも影響を及ぼします。
エンタープライズ モビリティ サービス
- 新しい EMS インストール リソースから得られたデータが EMS コンソール サーバーに表示され、次の 2 種類の新しい分析結果グラフも示されるようになりました。
- ユーザーによる呼び出しの合計回数
- ユーザーによる EMS サーバー API 呼び出しの回数
- 詳細については、「EMS コンソール UI」トピックで新規グラフを参照してください。
- EMS コンソール サーバーでは、ユーザーが分析結果のデータを
.csv
ファイルに保存することもできます。- 詳細については、「アナリティクス データのエクスポート」を参照してください。
- EMS サーバーの EMS 管理 API が、次の 2 種類の新しい EMS リソースに対応して拡張されました。
- EMS インストール -- EMS プッシュ通知クライアント アプリケーションの登録デバイスに関するデータを格納する新しい公開リソース。
- EMS プッシュ リソース -- EMS サーバーから登録デバイスに送信されるプッシュ通知メッセージに関するデータを格納する新しいリソース。
- EMS カスタム リソースを記述する際に新しい TEMSInternalAPI を使用できるようになりました。TEMSInternalAPI では、カスタム リソースから EMS サーバー内の他の EMS エンドポイントを呼び出すことができます。
- お使いの EMS クライアント アプリケーションから新しい TEMSClientAPI を使用して、EMS サーバー内の EMS エンドポイントを呼び出すことができます。
- EMS サーバー内の登録デバイスに EMS プッシュ通知メッセージを送信する EMS の新機能を使用することにより、コンテンツを容易に配布することができます。
- 詳細については、「EMS プッシュ通知」トピックを参照し、また、チュートリアル「モバイル チュートリアル:リモート通知を使用する(iOS および Android)」に従ってください。
- EMS サーバーへのログインおよびユーザー登録を行うための外部資格情報による権限付与をサポートするカスタム リソースを作成できます。
詳細については、次のトピックを参照してください。
EMS 管理コンソール アプリケーション
EMS 管理コンソール アプリケーションは RAD Studio に付属しているサンプル アプリケーションであり、これを使用すると、EMS サーバーに格納されている EMS データの管理や、登録デバイスへの EMS プッシュ通知メッセージの送信を行えます。 このアプリケーションは、RAD Studio に付属しているサンプル ソース コードを使用して、必要に応じてカスタマイズすることもできます。
EMS 管理コンソール アプリケーションでは以下を行えます。
- EMS サーバーの EMS ユーザーの管理。EMS ユーザー データの追加、更新、削除のほか、EMS グループへの EMS ユーザーの追加を行えます。
- EMS サーバーに作成された EMS グループの管理。EMS グループの新規作成、同グループのデータの更新、EMS グループに対する EMS ユーザーの追加や削除を行えます。
- EMS サーバーに登録されているデバイスから得たデータの管理
- EMS サーバーに登録されているデバイスへのEMS プッシュ通知メッセージの送信
EMS 管理コンソール アプリケーションの使用方法およびソース コードの場所の詳細については、「EMS 管理コンソール アプリケーション」を参照してください。
64 ビット iOS デバイスとデータベースの互換性
64 ビット iOS デバイス プラットフォームが XE8 に追加されました。この新しいプラットフォームとデータベース管理システム(DBMS)の互換性は、32 ビット iOS デバイス プラットフォームで提供されている互換性と同じです。
- FireDAC の場合: DataSnap、InterBase、IBLite/IBToGo、SQLite。FireDAC とデータベースの互換性の詳細については、こちらを参照してください。
- dbExpress の場合: DataSnap、IBLite/IBToGo、SQLite。dbExpress とデータベースの互換性の詳細については、こちらを参照してください。
XE8 での[ビットマップ スタイル デザイナ]の変更点
- [ビットマップ スタイル デザイナ]が更新されて、iOS および Android の現在サポートされているバージョン用の新しいスタイル テンプレートを提供するようになりました。
- {{[スタイルの新規作成]ボタンを使用すると、iOS スタイル、Android スタイル、VCL スタイル、Windows スタイル、Mac OS X スタイル、Metropolis UI スタイル、さまざまな空のスタイルなどから、スタイル テンプレートを選択できます。
- [1.5 倍解像度グラフィック用オブジェクトの新規追加]、[2.0 倍解像度グラフィック用オブジェクトの新規追加]、[3.0 倍解像度グラフィック用オブジェクトの新規追加]などの新しい[スタイル]メニュー コマンドを使って、さまざまな解像度用のオブジェクトを作成できます。
- 新しい[オブジェクト テンプレートの追加]ツールバー ボタンを使って、オブジェクト テンプレートを追加できるようになりました。デフォルトのオブジェクト構造を使用することにより、設定済みテンプレートを調整したり、必要に応じてプロパティを割り当てるだけで済みます。
- 新しい[全グラフィック解像度用オブジェクトの自動調整]コンテキスト メニュー コマンドを使用することにより、対象オブジェクトの他の適切な解像度を自動的に作成できます。
- 新しい[オブジェクト スタイルのテスト]コンテキスト メニューのコマンドを使用すると、カスタム オブジェクトのテスト(およびさ、まざまな解像度でのそれらのテスト)を行うことができます。
XE8 でのサードパーティ製ソフトウェアの変更点
Delphi および C++ 用の Box2D
RAD Studio には、ゲーム用のオープン ソース物理エンジンである Box2D が用意されるようになりました。Box2D は、Delphi アプリケーションでも C++ RAD Studio アプリケーションでも使用することができます。
XE8 でのデバッガの変更点
iOS64 アプリケーションのデバッグはサポートされていません(ターゲット プラットフォームが[iOS デバイス - 64 ビット]の場合、F9
は有効になりません)。
代わりに、アプリケーションを[iOS デバイス - 32 ビット]をターゲット プラットフォームとして設定し、デバッグを完了したあと、[iOS デバイス - 64 ビット]をターゲット プラットフォームとして再ビルドしなければなりません。
XE8 でのテスト フレームワークの変更点
RAD Studio では、Delphi および C++Builder で DUnitX をサポートするようになりました。このテスト フレームワークを使用すると、テストを開発して Win32、Win64、Mac OS X で実行することができます。DUnitX には、多数の条件をテストする一連のメソッドが独自に用意されています。これらのメソッドは一般的なアサーションを表していますが、独自のカスタム アサーションを作成することもできます。
詳細については、「DUnitX の概要」を参照してください。
XE8 でのグラフィック ユーティリティの変更点
新規の GetIt パッケージ マネージャ
RAD Studio には、GetIt という新しいグラフィック ユーティリティが用意されています。GetIt は、GetIt パッケージのブラウズ、ダウンロード、RAD Studio へのインストールを無料で簡単に行えるパッケージ マネージャです。GetIt パッケージでは、ライブラリ、コンポーネント、IDE 拡張機能、SDK などが提供されます。
詳細については、「GetIt パッケージ マネージャ」を参照してください。==XE8 でのコマンドライン ユーティリティの変更点==
次の iOS 64 ビット用コンパイラが 2 つ新しく追加されました。
XE8 でのアプリケーション サンプルの変更点
XE6 で削除された以前のサンプルは SourceForge および XE6 docwiki で入手可能
XE6 で RAD Studio から削除された以前の製品サンプルへのアクセスの詳細については、「以前の製品サンプル」を参照してください。
ヘルプの変更点
新しいオフライン ヘルプ システム(H2 ヘルプを CHM ヘルプに差し替え)
RAD Studio に付属しているオフライン ヘルプ ファイルは Microsoft コンパイル済み HTML ヘルプ(CHM)形式になりました。詳細については、「ヘルプの使用方法 - CHM」を参照してください。これまで、オフライン ヘルプは H2 形式で提供され、Microsoft のヘルプ ビューア DExplore を使って閲覧されていました。
Microsoft のコンパイル済み HTML ヘルプ ビューアではオフライン ヘルプのみ表示できます。オンライン ヘルプにアクセスするには、ご自分でオンライン ヘルプを開くか、オフライン ヘルプのすべてのページのフッターに表示されている[現在の Wiki ページを表示]リンクをクリックする必要があります。オフライン ヘルプ ビューアでオフライン ヘルプとオンライン ヘルプのどちらを表示するかを選択することはできなくなりました。
独自の CMH ヘルプ ファイルを作成して RAD Studio にリンクすることができます。詳細については、「コンポーネント用のヘルプの作成」を参照してください。