新機能

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

メインページ への移動


Seattle リリースでは、以下のような新機能の追加や既存機能の改良が行われています。

メモ: OS X 10.11(El Capitan)と iOS 9 との互換性については、「OS X 10.11 および iOS 9 に関する注意事項」を参照してください。

目次

C++ コンパイラ

32 ビット Windows 向けの新しい Clang 拡張 C++ コンパイラ

BCC32C は 32 ビット Windows 向けの Clang 拡張 C++ コンパイラです。BCC32C では、数々の C++11 機能を活用することができると共に、単一のコード ベースを保守して 32 ビット Windows と 64 ビット Windows の両方をターゲットにすることが容易になります。

BCC32C は、BCC32 に取って代わるものではなく、RAD Studio では、使用するコンパイラをプロジェクトごとに選択できるようになっています。BCC32 は 32 ビット Windows 向けのデフォルトの C++ コンパイラです。BCC32C を使用するようにプロジェクトを切り替えるには、[プロジェクト|オプション...|C++ コンパイラを選択し、[従来のコンパイラ]で['従来の' Borland コンパイラを使用]オプションを無効にします。

更新された Clang のバージョンと LLVM のバージョン

Windows 向け Clang 拡張 C++ コンパイラBCC32CBCC64)は、両方とも Clang 3.3LLVM 3.3 に更新されました。

Clang 拡張 C++ コンパイラの並列コンパイル

Seattle では、Clang 拡張 C++ コンパイラで並列コンパイルを有効にして、マルチコア プロセッサ搭載のシステムでコンパイル時間を大幅に短縮できます。

旧世代 C++ コンパイラでの __property のキーワードの制限事項

BCC32 コンパイラと BCCOSX コンパイラでは、インデックス付きプロパティに対する default キーワードの使用をサポートしていません。詳細については、「__property」の「コンパイラでのサポート」セクションを参照してください。

Clang 拡張 C++ コンパイラの新規定数

RTLVersion 定数は Clang 拡張 C++ コンパイラではサポートされていません。代わりに、RTLVersionC を使用できます。

FireMonkey アプリケーション プラットフォーム

FireMonkey で Windows 10 をサポート

FireMonkey では、Windows 10 向けのネイティブ アプリケーションの作成を完全にサポートしています。スタイルブックやコードを追加しなくても、ターゲット プラットフォームの検出と、適切なネイティブ スタイルの読み込みおよび表示が実行時にフレームワークにより自動的に行われます。

OS X での他のアプリケーションへのドラッグ アンド ドロップ

ドラッグ アンド ドロップ操作をサポートしている FireMonkey プラットフォーム サービスである IFMXDragDropService では、FireMonkey アプリケーションから別のアプリケーションにデータをドラッグできるようになりました。

新しい FireMonkey スタイル

Seattle に含まれている新規の Windows 10 FireMonkey スタイルには、Win10Modern.StyleWin10ModernBlue.StyleWin10ModernDark.Style があります。

これらの FireMonkey スタイルには C:\Users\Public\Documents\Embarcadero\Studio\17.0\Styles でアクセスできます。

FireMonkey の新しネイティブ Windows 表示

次のコントロールでは、Windows プラットフォームでのネイティブ表示をサポートするようになりました。

FireMonkey コントロールで Windows 向け Z 順序をサポートする方法」を参照してください。

ネイティブ Windows コントロールの詳細については、「FireMonkey のネイティブ Windows コントロール」を参照してください。

タブ コントロールでのタブのスクロール

TTabControl コンポーネントでは、すべてのタブの幅がタブ コントロールの幅に収まらない場合、スクロールによるタブのナビゲーションを行えます。この機能を使用するには、FullSize プロパティを False に設定する必要があります。

設計時に、すべてのタブの幅がタブ コントロールの幅に収まらない場合、実行時には表示されていないタブにスクロールできることを示す右ボタンと左ボタンが表示されます。タッチ画面を備えたデバイスでは、タブをスライドして移動することができます。タッチ画面のないデバイスでは、タブ間をスクロールするには、マウス スクロールのほかに、右ボタンと左ボタンも使用できます。右ボタンと左ボタンは設計時にのみ表示され、デバイスにタッチ画面がない場合は、実行時にも表示されます。

タブ項目高さを変更できます。高さを変更するには、AutoSize プロパティを False にする必要があります。

TCalendar のサイズ制約の削除

RAD Studio Seattle には、TCalendar コンポーネントのサイズの制約がありません。

TCalendar の HeightWidth を変更できるようになり、Align プロパティを Client に設定することさえ可能です。

メモ: TCalendar のサイズの制約は、iOS のネイティブ カレンダー コンポーネントについても削除されました。iOS 6 以降のネイティブ カレンダーのサイズを変更できます。

ネイティブ iOS リスト ビューでのカスタム表示のサポート

カスタム表示ネイティブ iOS リスト ビュー コントロールで使用することができます。

FireMonkey ビジュアル コントロールではマウスオーバー時にヒントを表示可能

FireMonkey ビジュアル コントロールでは、デスクトップ プラットフォームでヒントをサポートするようになりました。ヒントを設定するには、[オブジェクト インスペクタ]でコントロールの Hint プロパティにテキストを入力し、ShowHint プロパティを True に設定します。ヒントの使用方法の詳細については、「FireMonkey アプリケーションでヒントを使用して状況依存ヘルプを表示する方法」を参照してください。

メモ: ヒントは Windows と Mac OS X 10.10 以降でサポートされています。

Android 向けのタッチ アニメーション

Seattle には、Android プラットフォーム向けのタッチ アニメーションが組み込まれています。この新しい種類のアニメーションでは、Google マテリアル デザイン ガイドに基づいたタッチ アニメーションをシミュレートしています。

何もしなくても、このアニメーションはデフォルトで有効になっています。 このアニメーションは TListBox とボタン(TButtonTCornerButtonTSpeedButton など)向けに含まれています。

詳細については、TTouchAnimationAdapter クラス、TActiveStyleObject.TouchAnimation プロパティ、TButtonStyleObject.TouchAnimation プロパティの API ドキュメントを参照してください。

システム通知が RTL に移動および Windows をサポート

FMX.Notification ユニットの代わりに、System.Notification が使用されるようになりました。

TNotificationCenter コンポーネントでは、Windows 8 以降の Windows バージョンをサポートするようになりました。また、このコンポーネントには、次のような小さい変更も行われました。

  • 通知センターを使用する用意ができているかどうかを調べる Loaded プロパティが用意されています。
  • ApplicationIconBadgeNumber の型が Word から Integer に変わりました。
  • Supported メソッドが不要になり、削除されました。

TBaseNotificationCenter クラスが IFMXNotificationCenter インターフェイスの代わりに使用されるようになりました。これまで IFMXNotificationCenter インターフェイスを実装していたクラスは、TBaseNotificationCenter のサブクラスになり、親クラスの仮想抽象メソッドを実装する必要があります。

FireMonkey スタイル デザイナ

プラットフォーム スタイル

FireMonkey スタイル デザイナでは、設計時に、プロジェクトの別個のプラットフォームごとに別個のスタイルを設定できるようになりました。ただ 1 つの TStyleBook で一連のスタイルを管理できるようになりました。

コントロールのカスタマイズ

RAD Studio では、設計時にコンポーネントをさまざまなプラットフォーム向けにカスタマイズできるようになりました。

詳細については、「モバイル チュートリアル:さまざまなスタイルを持つボタン コンポーネントを使用する(iOS および Android)」を参照してください。

新しい[ビットマップリンク エディタ]

新しいエディタでは、直接 IDE 内でスタイル付きオブジェクトの TBitmapLink 型プロパティのグラフィック編集が可能です。

TBitmapLink 型プロパティは、[ビットマップリンク エディタ]を使って簡単かつビジュアルに編集できるようになりました。

詳細については、「[ビットマップリンク エディタ]」および「チュートリアル:[ビットマップリンク エディタ]を使用する」を参照してください。

その他の改良点

  • .style ファイルの読み込み、保存、クリアを行うための新規ツールバー
  • スタイル編集用のさまざまな背景。背景なしを選ぶことも、明るいまたは暗い背景を選ぶこともできます。カスタマイズしたコントロールが暗い色や明るい色にどれだけ合っているかを確認するのに色が役に立ちます。
  • スタイル デザイナで直接さまざまなスタイル レイアウト オブジェクトおよびコンポーネントを選択および管理。
  • [ツール パレット]でコントロールのダブルクリックによりスタイル デザイナに新規コントロールを追加。

新しい GetFirstWeekday 関数

FireMonkey では、IFMXLocaleService インターフェイス内に新しい GetFirstWeekday 関数が用意されています。

GetFirstWeekday では、最初の曜日を、プラットフォームに依存しない統一形式で返します。

メモ: GetLocaleFirstDayOfWeek は非推奨になりました。代わりに GetFirstWeekday を使用してください。

スタイル付き表示クラスのコンストラクタの引数となるデータ モデルとコントロール

Seattle では、スタイル付き表示クラスコンストラクタで、データ モデルとそれらの表示対象コントロールを引数として受け取ります。これにより、プレゼンテーション クラスの作成がはるかに簡単になります。

プレゼンテーション クラスを XE8 から Seattle に移植するには、データ モデルと表示対象コントロールの遅延初期化のコードが含まれていれば、そのコードを削除し、それを代わりにコンストラクタに移します。

リスト ビュー コントロールのリファクタリング

これまで TCustomListView にあった多くのメンバが別のクラス(さらには別のユニットにまで)移動しました。別のクラスに移動したメンバも、継承により、引き続き TCustomListView の一部となっています。

変更点の詳しい一覧については、「Seattle におけるリスト ビュー コントロールのリファクタリング」を参照してください。

すべてのスタイル付き表示プロキシ クラスを TStyledPresentationProxy で代用

スタイル付き表示クラスでは、プロキシ クラスを定義しなくてもよくなりました。新しく導入された TStyledPresentationProxy クラスを使用すれば、どのようなスタイル付き表示クラスのプロキシ オブジェクトでも作成できます。既存のスタイル付き表示プロキシ クラス(下記参照)はすべて削除されました。

XE8 Seattle

TStyledCalendarProxy
TStyledCalendarEditProxy
TStyledComboEditProxy
TStyledComboTrackBarProxy
TStyledEditProxy
TStyledEditBoxProxy
TStyledMemoProxy
TStyledOverlayLayoutProxy
TStyledShadowedLayoutProxy
TStyledNumberBoxProxy
TStyledScrollBoxProxy
TStyledSearchBoxProxy
TStyledSpinBoxProxy
TStyledSwitchProxy

TStyledPresentationProxy

TCalendar のリファクタリング

TCalendar の変更点

  • 1 か月のカレンダーを表示するコントロールの基底クラスとして、TCustomCalendar が導入されました。TCalendarTCustomCalendar を継承するようになりました。どちらのクラスも FMX.Calendar ユニットにあります。

TStyledCalendar の変更点

  • XE8 にあった TStyledCalendar.FillList メソッドは、次の種々の手続きに分かれるようになりました。

FireMonkey のその他の変更点

  • C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\Object Pascal\Multi-Device Samples\User Interface\CopyPaste
  • C:\Users\Public\Documents\Embarcadero\Studio\17.0\Samples\CPP\Multi-Device Samples\User Interface\CopyPaste

VCL

Windows 10 用の新規 VCL コントロール

次のコントロールが VCL に追加されています。

  • TRelativePanel: RelativePanel は、子オブジェクトを他の子オブジェクトまたは親パネルを基準として配置したり整列させることができる新しいレイアウト パネルです。たとえば、あるテキストがパネルの左側に常に位置し、そのテキストの下に常にボタンが配置されると指定することができます。ReleativePanel を使用するのは、はっきりとした線状パターンのないユーザー インターフェイスを TGridPanel の代わりに作成する場合です。
  • TSplitView: 新しい SplitView コントロールを使用すれば、一時的なコンテンツの表示と非表示をたやすく行うことができます。たとえば、ナビゲーション コンテンツが必要に応じて非表示になったりスライドインする最上位ナビゲーション メニュー(いわゆるハンバーガー メニュー)として使用することもできます。
  • TToggleSwitch: トグル スイッチは、物のオン/オフを切り替えることができる実際のスイッチを模倣しています。このコントロールには、オンとオフの 2 つの状態があります。トグル スイッチのキャプション ラベルを変更したり削除することができます。
  • TActivityIndicator: 進行状況不定リング インジケータです。このインジケータでは、いくつかの種類のうち 1 つを選ぶことができるほか、サイズ、アニメーション速度、インジケータ色など多数の視覚的特性を変更することができます。
  • TSearchBox: 検索機能を提供する編集コントロールで、FireMonkey の TSearchBox と似たものです。

これらのコントロールは特に Windows 10 用に作成されたものですが、Windows のすべてのバージョンをサポートしています。

新しい VCL Windows 10 コントロールのサンプル アプリケーションで、これらのコントロールの使用法と機能を紹介します。

新規の TSharingContract コンポーネント

TSharingContract コンポーネントを使用すれば、他の Windows 10 アプリケーションと情報を共有するためのシステム メカニズムであるコントラクトをサポートできます。アプリケーションは、新規の SharingContract コンポーネントを使って、コントラクト ソースのように動作することができます。

アプリケーション コントラクトおよび共有の詳細については、Windows デベロッパー センターの記事「App contracts and extensions (Windows Runtime apps)(アプリ コントラクトと拡張機能 (Windows ランタイム アプリ))」を参照してください。

新しい VCL スタイル

  • Seattle に含まれている新規の Windows 10 VCL スタイルには、Windows10Windows10 BlueWindows10 Dark があります。
  • 新規の OnyxBlue スタイルが用意されています。

これらの VCL スタイルにアクセスするには、 [プロジェクト|オプション...|アプリケーション|表示]を選択します。

VCL スタイル設定の改良点

  • スタイル設定コモン ダイアログをサポートするようになりました。詳細については、SystemHooks を参照してください。
  • TWebBrowser コンポーネントではスタイル設定をサポートするようになりました。

VCL スタイル設定の詳細については、「VCL スタイルの操作」を参照してください。

モダンになった[ディレクトリの選択]ダイアログ ボックス

SelectDirectory は、モダンな[ディレクトリの選択]ダイアログ ボックスを表示するために変更されました。SelectDirectory 関数の 3 番目のシグネチャを使用し、オプション セットを TSelectDirFileDlgOpts オブジェクトとして定義します。

ModernizedSelectDirectory.png

RTL

Android インテントを処理可能にするためのアプリケーション登録

XE8 では、インテントを受け取る方法はローカル通知またはプッシュ通知だけでした。Seattle では、RAD Studio の組み込み Java ライブラリ Androidapi.JNI.Embarcadero を使用することにより、任意の種類のインテント アクションを処理できるようにアプリケーションを登録することができます。

Android インテントを使って別のアプリケーションからの単純なデータを処理する方法については、Android インテント サンプル アプリケーションを参照してください。

メモ: Android インテントを処理できるようにするには、対応する <action> タグを AndroidManifest.xml ファイル<intent-filter> セクションに追加する必要があります。

JSON 関連の改良点

System.JSON スコープが拡張され、以下をサポートする多数の新しいユニットが追加されました。

  • BSON: JSON 形式の代わりとなるバイナリ形式。
  • JSON リーダーおよびライタ: 先に完全な JSON ツリーをメモリに作成することなく JSON データをその場で解析および生成。
  • MongoDB 拡張 JSON: 追加のデータ型をサポートするように拡張された JSON 形式。JSON リーダーおよびライタで、それらの ExtendedJsonMode プロパティを使ってこの拡張 JSON を有効にすることができます。

さらに、TJSONObject.ParseJSONValue および TJSONObject.Parse を使用すれば、解析したデータから TJSONBool 値を作成することができます。

非同期リモート アクションの実行

新規の RunRemoteActionAsync メソッドを使用すると、リモート アクションを非同期的に実行することができます。 非同期アクションを使用することにより、このメソッドを呼び出す関数は、リモート アクションの終了までブロックされることがなくなります。

この詳細については、「リモート アクションの実行」を参照してください。

GATT サーバーの Android 5 のサポート

Seattle では、Android 5 で動作する Bluetooth LE サーバーを作成できます。

国際化ドメイン名のサポート

HTTP フレームワークでは、国際化ドメイン名(IDN)をサポートするようになりました。TURI.UnicodeToIDNATURI.IDNAToUnicode の 2 つの public メソッドが、新しく使用可能になりました。

SHA-2 ハッシュのサポート

System.Hash ユニットには、ハッシュ関数の SHA-2 ファミリを実装した新しい構成要素 THashSHA2 があります。

Bluetooth 関連の改良点

  • TBluetoothLEDevice の新規プロパティ ScannedAdvertiseData を使用すれば、TBluetoothLEAdvertiseData のインスタンスとしてリモート デバイスからアドバタイズされるデータにアクセスできるため、メーカー固有の情報などの有用な情報を簡単に読み取ることができます。
  • TBluetoothGattServer.AddService では、追加したサービスをアドバタイズさせるかどうかを指定できます(デフォルトではアドバタイズされます)。
  • TBluetoothLEManager.StartDiscovery では、新規パラメータ ForceConnect をサポートしています。このパラメータは、検出したすべてのリモート デバイスに接続して、各リモート デバイスから提供されるサービスの完全なリストを取得するためのものです。これにより、リモート デバイスがサービスをアドバタイズするかどうかにかかわらず、提供するサービスに基づいてリモート デバイスを絞り込むことができます。
  • さまざまな形式の Bluetooth UUID を扱うための新しいヘルパ クラス TBluetoothUUIDHelper が追加されました。

アプリケーション テザリング通信のリファクタリング

アプリケーション テザリング プロファイルの基底クラス TTetheringProfile には、アプリケーション テザリング コマンドを解析するロジック(これまでアプリケーション テザリング プロトコルの基底クラスに実装されていたもの)と、リモート プロファイルおよび接続を処理するロジック(これまで子クラス TTetheringAppProfile に実装されていたもの)が実装されるようになりました。

変更点の詳しい一覧については、「Seattle におけるアプリケーション テザリング通信のリファクタリング」を参照してください。

RTL のその他の変更点

IDE

メモリに関する改善

Seattle では、メモリの消費と管理に関する重要な改良が RAD Studio IDE にいくつか行われています。

  • IDE では最大 4 GiB のメモリを使用できるようになりました。2 GiB に制限されることはもうありません。
    メモ: IDE 拡張機能では、ラージ メモリ アドレスをサポートする必要があります。
  • IDE に開いているプロジェクトのメモリ管理が改良されました。IDE では、処理可能な開いているプロジェクトの数が増えました。

新規の Android サービス プロジェクト

RAD Studio には、Android サービスを作成するための Delphi プロジェクトが新しく用意されるようになりました。

この新しい種類のプロジェクトでは、さまざまな種類のサービス(ローカル サービスとリモート サービスの両方)を扱い、インテントを使用する非同期タスクをサポートしています。

Android サービス プロジェクトは、サービスのメソッドやイベントを作成するデータ モジュールで構成されます。プロジェクトをビルドすると、選択したサービス種別に従って、メイン アプリケーションに必要な、Java アーカイブ ファイル(.*JAR)などのバイナリ ファイルが作成されます。

Android サービスを作成するには:

詳細については、「[Android サービス]」や「Android サービスの作成」を参照してください。

マルチモニタ構成のサポートの向上

Seattle では、マルチモニタ構成でのユーザー エクスペリエンスが向上します。

IDE への Castalia 機能の統合

RAD Studio Seattle の IDE には、Castalia 機能の一部(下記)が組み込まれています。

  • [クリップボード履歴]: テキストをコピーしたときに保存された項目が表示されます。[クリップボード履歴]ウィンドウは、[表示|クリップボード履歴]で開くことができます。
  • [複数貼り付け]: コピーしたテキストを編集してから貼り付けることができます。[複数貼り付け]ウィンドウは、[編集|複数貼り付け]で開くことができます。
  • プロジェクトの[統計情報]: 現在のプロジェクトのさまざまな作業分野に費やされた時間が表示されます。プロジェクトの[統計情報]ウィンドウは、[表示|プロジェクトの統計情報]で開くことができます。
  • ナビゲーション ツールバー: コード エディタに表示され、コード内の移動に役に立ちます。ナビゲーション ツールバーには[プロジェクト シンボル検索]が含まれています。
  • [プロトタイプ同期]: メソッドのインターフェイスと実装を同期させる機能です。
  • 構造強調表示: コードの構造が線で強調表示されるほか、コードで直線的な実行フローを中断する手続きが使用されている箇所も強調表示されます。この機能の詳細なオプションについては、[構造強調表示]オプション ページを参照してください。
  • スマート キー: 行またはテキストの先頭にカーソルを移動するショートカットとなるほか、コードを "()"、"[]"、"{}" のいずれかで簡単に囲むこともできます。これらの機能は、[キーの割り当て]オプション ページで有効または無効にすることができます。

自動回復機能

自動回復機能を使用すると、IDE が予期せず終了したときに、ファイルを回復することができます。

自動回復機能の詳細な設定については、[自動回復機能]オプション ページを参照してください。

コード エディタのフォント サイズの変更

次のように、コード エディタのコンテキスト メニューまたはキーボード ショートカットを使って、コード エディタのフォントのサイズを大きくまたは小さくすることができます。

  • キーボード ショートカット Ctrl+Num + または Ctrl+Num - を使用すると、それぞれ、フォント サイズを大きくまたは小さくすることができます。ショートカットの詳細については、「キーボード マッピング:インデックス」を参照してください。

IDE 内の Subversion ライブラリの更新

Seattle では、Subversion ライブラリ バージョン 1.8.13 が RAD Studio に組み込まれています。

IDE に統合されているバージョン管理システムの詳細については、「IDE 内の Subversion インテグレーション」および「IDE 内のバージョン管理システム」を参照してください。

[GetIt パッケージ マネージャ]の改良点

Seattle では、[GetIt パッケージ マネージャ]に次の改良が加えられました。

[OS X - アプリケーション ストア]選択時の[プロビジョニング]ページのオプション ラベルの変更

アプリケーション ストア向け OS X アプリケーションのコード署名用の[プロビジョニング]オプションは、Apple 社で使用されている証明書の名前に合わせて、[サードパーティ Mac デベロッパ証明書][サードパーティ Mac インストーラ証明書]にラベルが変更されました。

アプリケーションのコード署名の詳細については、[プロビジョニング]ページを参照してください。

iOS 9 アプリケーションから非 SSL の URL にアクセスできるようにするための新しいオプション

メモ: これの影響を受けるのは RAD Studio Seattle Subscription Update 1 だけです。

iOS 9.0 上で HTTP プロトコル要求を有効にするための新しいオプションが[プロジェクト|オプション...|資格リストに用意されています。このオプションは、デフォルトで有効になっています。

iOS でのバックグラウンド実行をサポートするための新規オプション

IDE では、iOS アプリケーションでのバックグラウンド実行モードのサポートを Info.plist に含めることができるようになりました。

[プロジェクト|オプション...|バージョン情報]で、バックグラウンドで実行を継続する必要があるサービスの文字列値をキー UIBackgroundModes に追加することができます。

VCL アプリケーションで高 DPI 認識機能を有効にする新しいオプション

IDE を使用して、VCL アプリケーションで高 DPI 認識機能を有効にすることができるようになりました。

[プロジェクト|オプション...|アプリケーションを選択し、プロジェクトの[高 DPI の有効化]オプションをオンにします。

[オブジェクト インスペクタ]の改良点

  • 新しいフィルタ ボックスには、指定したパターンに一致するプロパティやイベントが表示されます。この新しいオプションは、[オブジェクト インスペクタ]インスタンス一覧の下にあります。
  • [オブジェクト インスペクタ]の粒度が.細かくなりました。コンテキスト メニューの新しい[表示]オプションを使用すると、[オブジェクト インスペクタ]のさまざまな部分を表示したり非表示にすることができます。
    • インスタンス一覧
    • フィルタ ボックス
    • クイック アクション パネル
    • 説明パネル(デフォルトで非表示)
    • ステータス バー

これらの新しいオプションには、[ツール|オプション...]を選択したあと、[環境オプション|オブジェクト インスペクタ]ページでアクセスすることもできます。

詳細については、[オブジェクト インスペクタ]のオプションを参照してください。

[構造]ビューの新しいアイコン

[構造]ビューに表示されるアイコンが、[ツール パレット]に表示されるアイコンと一致するようになりました。サムネイルは、[構造]ビューに表示されるアプリケーション コンポーネントをたやすく特定するのに役に立ちます。

Android マニフェストでの InstallLocation パラメータの新しいデフォルト値

Android アプリケーション マニフェスト ファイルでの InstallLocation パラメータの新しいデフォルト値は auto です。詳細については、「Android の[バージョン情報]」セクションを参照してください。古いプロジェクトでこの値を変更すると、デバッグに関する特定の問題の解決に役立つ場合があります。

設計時に非ビジュアル コンポーネントを非表示にする新しいオプション

IDE では、設計時に非ビジュアル コンポーネントを表示または非表示にすることができるようになりました。

[ディレクトリの選択]ダイアログ ボックスの新しいルック アンド フィール

IDE では、モダンな[ディレクトリの選択]ダイアログ ボックスがフォルダ選択用に表示されるようになりました。[ディレクトリの選択]ダイアログ ボックスでは、フォルダ パスの入力または貼り付けが可能です。

ModernizedSelectDirectory.png

このダイアログ ボックスは、たとえば、ファイル検索Ctrl+Shift+F)で表示されます。

Tools API の改良点

  • エディタの描画インターフェイス: カスタム描画を改善するため、Tools API の描画インターフェイスが新しく追加されて、コード エディタが拡張されました。

Tools API を使用した IDE の拡張」を参照してください。

古いプロジェクトのインポートのサポート向上

Seattle では、Delphi 1 ~ XE8 および C++Builder 3 ~ XE8 のプロジェクトのインポートをサポートしています。

データベースの変更点

DataSnap

FireDAC データセットの圧縮伝送

Seattle では、DataSnap サーバーと DataSnap クライアントの間での FireDAC データセットの伝送は圧縮されます。その結果、サーバーでもクライアントでも、消費するメモリは、XE8 を使って作成した場合のおよそ 1/3 になります。

一部の DataSnap クライアント アプリケーションにはもう OpenSSL は不要

一部の Datasnap クライアント アプリケーションでは、HTTPS のサポートに OpenSSL が必要ではなくなりました。

メモ: フィルタを使用する DataSnap クライアント アプリケーションでは、OpenSSL ライブラリをインストールする必要があります。

DataSnap の新しいデモ サンプル

RAD Studio に、DataSnap アプリケーションで FDSchemaAdapter を使用した次の 2 つの新しいサンプルが追加されました。

  • Object Pascal\DataSnap\FireDAC ディレクトリにある FireDAC サンプル
  • Object Pascal\DataSnap\FireDAC_DBX ディレクトリにある FireDAC DBX サンプル

FireDAC

FireDAC ETL コンポーネントの最適化

TFDBatchMoveSQLWriter では、TFDBatchMove の設定可能なすべてのデータ移動モードをサポートしています。

メモ: dmAppendUpdate モードは、データベースで MERGE、INSERT または REPLACE などの DML コマンドをサポートしている場合にのみサポートされます。

NoSQL MongoDB データベースのサポート

Seattle の FireDAC では NoSQL MongoDB データベースを完全にサポートしています。

新規の FireDAC 接続ドライバ、API クラス、新規コンポーネントを使用すると、MongoDB データベースに接続するアプリケーションを開発できます。

詳細については、「FireDAC を使用した MongoDB データベースへの接続」を参照してください。

MongoDB データベースへの接続

新規の FireDAC MongoDB ドライバを使用すると、MongoDB データベースへの接続を確立できます。

MongoDB ラッピング クラス

FireDAC には、MongoDB データベース コマンド、メソッド、構造をカプセル化する次のラッパー クラスが追加されました。

  • TMongoConnection: MongoDB サーバーへの接続管理、データベースやオブジェクト コレクションにアクセスするクラスです。
  • TMongoDatabase: MongoDB データベース、MongoDB データベースでのコレクションとユーザーを管理するクラスです。
  • TMongoCollection: MongoDB コレクションを表すクラスです。
  • TMongoCursor: MongoDB カーソルで結果セットのドキュメントを取得するクラスです。

MongoDB コマンドおよびメソッドのビルダ

FireDAC で、fluent スタイル コマンドとメソッド ビルダを使用した MongoDB クエリ、パイプライン、更新コマンドがサポートされるようになりました。

新しい MongoDB データセット

FireDAC MongoDB の特定のデータセットでは、MongoDB データベースからデータを取得および管理します。

  • TFDMongoDataSet コンポーネントを使用して、データセットを MongoDB カーソルにアタッチします。
  • TFDMongoQuery コンポーネントを使用して、MongoDB コレクションへのクエリを実行します。
  • TFDMongoPipeline コンポーネントを使用して、MongoDB コレクションへのパイプラインを実行します。

ODBC ドライバの機能強化

FireDAC の ODBC ドライバが、次のように改良されました。

FireDAC のその他の変更点

  • AutoCommitUpdates プロパティが TFDDataSet から TFDUpdateOptions に移動しました。
    • AutoCommitUpdates プロパティが TFDSchemaAdapter から TFDUpdateOptions に移動しました。
    • TFDSchemaAdapterUpdateOptions プロパティが導入されました。
    • AutoCommitUpdatesTrue の場合、ApplyUpdates を呼び出すと、データセット変更ログに記録されているすべてのレコードに正常に適用された変更内容がすべて削除されます。
  • TFDTable.FetchOptions.LiveWindowParanoic はデフォルトで True になりました。
  • SQL 文がパラメータ化されていない場合は、TFDConnection.ExecSQL を呼び出す際に、AParams パラメータに nil を渡すのではなく AParams パラメータそのものを省略できるようになりました。
  • Informix ネイティブ ドライバで新規パラメータ TxSupported を使用すると、Informix データベースで SQL トランザクションをサポートしているかどうかを指定できます。詳細については、「Informix への接続(FireDAC)」を参照してください。

REST クライアント ライブラリBaaS

{
  "__type": "Date",
  "iso": "2015-08-25T18:32:12.265Z"
}

クラウド

Cloud API にはもう OpenSSL は不要

AmazonAPI でも AzureAPI でも、HTTPS のサポートに OpenSSL が必要ではなくなりました。

CloudAPI の一部の構成要素が非推奨に

Amazon

  • AmazonAPI では、次のように、最新版の API をサポートするようになりました。
    • Amazon Simple Storage Service(S3): API Version 01.03.06
    • Amazon SimpleDB: API Version 15.04.09
    • Amazon Simple Queue Service(SQS): API Version 05.11.12
  • AmazonAPI では、AWS 署名バージョン 4 をサポートするようになりました。
    • この変更をユーザーが意識することはありません。
    • API では、できる限り AWS 署名バージョン 4 を使用しますが、下位互換性は維持します。

Azure

  • AzureAPI では、次のように、最新版の API をサポートするようになりました。
    • Microsoft Azure BLOB サービス: API Version 2014-02-14
    • Microsoft Azure Table サービス: API Version 2014-02-14
    • Microsoft Azure Queue サービス: API Version 2014-02-14
  • BLOB をリースするためのメソッドでは、LeaseDuration パラメータを指定できるようになりました。新しい LeaseDuration パラメータの詳細については、「Microsoft Azure - Lease Blob」を参照してください。

Seattle でのデバッガの変更点

64 ビット iOS デバイスをターゲットとするアプリケーションのリモート デバッグ

Seattle では、iOS64 アプリケーションのデバッグがサポートされるようになりました。IDE で[iOS デバイス - 64 ビット]がターゲット プラットフォームの場合も、F9 が有効になっています。

64 ビット iOS アプリケーションのリモート デバッグ サポートの詳細については、「64 ビット iOS デバイス上で動作するアプリケーションのデバッグ」を参照してください。

OS X での例外処理の向上

Seattle では、OS X での例外処理が向上しています。

Seattle でのテスト フレームワークの変更点

RAD Studio Seattle では、ユニット テスト フレームワーク DUnitX のサポートが拡張され、モバイル プラットフォーム(iOS および Android)にも対応しています。このテスト フレームワークで、iOS デバイス、Android、iOS シミュレータをターゲットとするテストを作成し実行できるようになりました。

詳細については、「DUnitX の概要」を参照してください。

統合フレームワークと SDK

  • Microsoft Windows 10 SDK が RAD Studio Seattle と一緒にインストールされるようになりました。RAD Studio Seattle では次の SDK もサポートしています。
    • Microsoft Windows 8.x SDK
    • Microsoft Windows 7 SDK
  • RAD Studio Seattle では、Windows RT API(Windows ランタイム API)と Windows API をサポートするようになりました。

ヘルプ

サンプル アプリケーションに含まれる Readme ファイルの改善

サンプル アプリケーション フォルダ内のプロジェクト サブフォルダには、サンプル アプリケーションに関するドキュメントの内容から生成された HTML 形式の readme ファイルが含まれるようになりました。これらの readme ファイルには、概要、実行手順、関連するヘルプ リソースへのリンクなど、各サンプル アプリケーションの詳細が記載されています。

ライブラリ ドキュメントにユニット パッケージを表示

Unit pages in the libraries documentation now show which package contains each unit. 特定のユニットがどのパッケージに含まれているのかを知るには、そのユニットの API リファレンス ページ(たとえば、System.SysUtilsFMX.Controls など)を開きます。

曖昧さ回避ページやリダイレクトを用いたナビゲーションの向上

オンライン トピック ドキュメントで最もよく検索される用語のいくつかについては、曖昧さ回避ページやリダイレクトを提供して、必要なドキュメントをユーザーがより簡単に見つけることができるようになりました。たとえば、datasnapandroidpaserverlistview などを検索してみてください。

OS X 10.11 および iOS 9 に関する注意事項

PAServer Hotfix for RAD Studio Seattle(RAD Studio Seattle 用の PAServer ホットフィックス)

このホットフィックスには、下記のための修正が含まれています。

  • OS X 10.11(El Capitan)アプリケーションの構築
  • iOS 7、iOS 8、iOS 9 で動作する iOS アプリケーションの iOS 9 SDK による構築

このホットフィックスは http://cc.embarcadero.com/item/30398 からダウンロードすることができます。

関連トピック