新機能

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

メインページ への移動

以前のリリースでの新機能 への移動

RAD Studio 10.2 Tokyo リリースでは、次のような新機能の追加や既存機能の強化が行われています。

Note:

Linux

RAD Studio 10.2 Tokyo では、Delphi 言語に対する Linux サポートが提供されています。コンパイラは ARC 対応で、サーバー側アプリケーションのみサポートします。これには、RAD サーバー開発および配置に対するサポートと共に、コンソール アプリケーション、WebBroker および DataSnap アプリケーションが含まれています。アプリケーションはまた、FireDAC を介してデータにアクセスすることができます。サポートされる Linux ディストリビューションは、Ubuntu 16.04 LTS および RedHat Enterprise Version 7 です。RAD Studio 10.2 Tokyo における Linux サポートは、Enterprise エディション以上で利用できます。

Delphi Linux コンパイラ

  • 64 ビット Linux プラットフォーム サポート
  • Delphi 言語サポート
  • ARC 対応
  • 1 始まりの文字列
  • LLVM エンジン ベース

サポート済み Linux ディストリビューション

RAD Studio 10.2 Tokyo では、次の Linux ディストリビューションをサポートしています:

  • Ubuntu Server (Ubuntu 16.04 LTS)
  • RedHat Enterprise Linux (version 7)

サポートされている RTL 機能

  • Linux ファイル システム アクセス
  • スレッド処理および並行プログラム ライブラリのサポート
  • メモリ管理
  • HTTP および HTTP 呼び出しに対する REST ライブラリのサポート

サーバー アプリケーションに 64 ビット Linux を追加

サーバー アプリケーションの最新 RAD Studio テクノロジーでは、64 ビット Linux がサポートされました。

FireDAC では、Informix の実行のみと共に、すべての Linux 対応 DBMS に対して Linux のサポートを提供しています。 「データベース接続」を参照してください。

  • WebBrokerRAD Server (EMS)、および DataSnap は、多層サーバー(スタンドアロンおよび Apache モジュール)をサポートしています。
  • DUnitX サポート
  • PAServer サポート
  • Indy ベースのクライアントおよびサーバーのサポート

FireMonkey

iOS における新しいシステム ステータスバー オプション

iOS におけるシステム ステータスバーの動作を変更するため、2 つの新しいプロパティが TForm に追加されました: SystemStatusBar.BackgroundColor および SystemStatusBar.Visibility です。

TMultiView の機能強化

  • Enabled プロパティを利用した、TMultiView とのユーザー インタラクションの無効化
  • TMultiView におけるボーダー表示を管理する新しいオプション
  • TMultiView におけるドッキング パネル モードの上下揃え

TBitmap、TCanvas 、TContext3D のマルチスレッド サポート

  • TBitmap: マルチスレッドを完全にサポート。同期することなく、任意のスレッド内で作成、削除、および修整することができます。
  • TCanvas: 複数のスレッドからの同時使用をサポートしましたが、これは内部的にはシリアライズされています。
  • TContext3D: 複数のスレッドからの同時使用をサポートしましたが、これは内部的にはシリアライズされています。

FireMonkey のその他の変更点

  • 次のテキスト コントロールに対して、ICaption のサポートが追加されました: TText、TStyleTextObject、TActiveStyleTextObject、TTabStyleTextObject、TButtonStyleTextObject。
  • Windows の TWebBrowser に対する FMX の向上
  • TEdit における追加プロパティ CharCase
  • 再公開された TStringGrid イベント
  • TListViewItem に追加されたプロパティ、TagObject と TagString
  • Android における Delphi と Java のスレッドの統一化: CallInUIThread は非推奨にすべてのコードが、Java UI スレッドで実行されており、スレッド同期の必要はなくなりました。
CheckSynchronize メソッドを呼び出すために使用される ProcessMessages メソッド。これは、Java Native スレッドからコールバックを呼び出されます。かつては、Delphi UI スレッドと Java Native スレッドの 2 つのスレッドがありました。10.2 におけるリファクタリング作業により、1 つのスレッド、Java Native スレッドにだけに絞られました。これは Android からのすべての通知を受け、それらを Delphi イベント ハンドラに転送するようになっています。while サイクルを介してブロックされる一方、イベント ハンドラは実行されず、サイクルから出てしまうことが避けられます。コールバックやイベントは一般的に、アプリケーションのメイン スレッドを保持しているコードがない場合に呼び出されます。
  • FMX.Platform.Android.pas の改善。FMX.Platform.Device.Android.pas、FMX.Platform.Logger.Android.pas、FMX.Platform.Metrics.Android.pas、FMX.Platform.SaveState.Android.pas、FMX.Platform.Screen.Android.pas、FMX.Platform.Timer.Android.pas を強化することにより行われています。
  • TForm の Release メソッドは非推奨に
  • Android での ShowModal への変更。

新しい FireMonkey スタイル

新しい FireMonkey スタイルが macOS と Android に追加されました。FireMonkey スタイルへは次でアクセスしてください:

  • C:\Users\Public\Documents\Embarcadero\Studio\19.0\Styles\MacOS\macOSgraphite.fsf
  • C:\Users\Public\Documents\Embarcadero\Studio\19.0\Styles\Android\AndroidWearDarkBlue.fsf

FireDAC とデータベース

Firebird の改善

  • Direct I/O バックアップ機能に対するサポートを追加するための、新しい Direct プロパティ

MySQL の改善

  • MySQL v 5.7 のサポート
  • MariaDB v 5.5 以降のサポート MariaDB に接続するには、FireDAC の MySQL ノードを使用してください。
  • 最近の MySQL バージョン 5.6.x および 5.7.x との互換性
  • MySQL Prepared 文 API: 古い API (MySQL テキスト プロトコル)と PS API (MySQL prepared 文プロトコル)の両方がサポートされるようになりました。
  • 内部 BLOB ストリーミングのサポート(smOpenWrite モードでのみ)。
  • 接続トランザクションと TFDConnection.InTransaction プロパティの同期に対する改善。このプロパティにより、接続トランザクションが現在処理中かを判別することができます。

FireDAC のその他の変更点

  • TFDDataMove コンポーネントは、本リリースより削除されており、ツール パレットで使用できなくなっています。 代わりに、TFDBatchMove コンポーネントを使用してください。
メモ: 既存のプロジェクトのために TFDDataMove が必要な場合には、次の場所にある FireDAC.Comp.DataMove.pas ユニットを使用してください:
[スタート|プログラム|Embarcadero RAD Studio 10.2 Tokyo|サンプル]、そして次のところまで移動します:
Object Pascal\Comp Layer\TFDBatchMove\DataMove_Deprecated
  • TFDBatchMove が最適化されました。それに伴い、TFDBatchMoveMappingItem のプロパティ DestValueSourceValue が利用できなくなっています。
  • TFDMSAccessService が、Microsoft Access 2007 以降をサポートするようになりました。
  • TFDMemTable コンポーネントへの強化により、設計時に TFDMemTable データセットを編集できるようになりました。 TFDMemTable コンテキスト メニューに[データセットの編集...]項目が追加され、 これにより、コンポーネント データを編集し、それらをフォームに保存できるようになりました。 データは実行時に利用可能です。
メモ: [データセットの編集...]を使用する前に、データセット フィールド TFDMemTable.FieldDefs に対するフィールド定義を指定するか、永続フィールドを作成します。
  • FireDAC InterBase ドライバが、InterBase 2017 DT および CTE をサポートするようになりました。

データベースの改善

  • VCL TDBImage の JPEG および PNG グラフィックス型式に対する直接サポート
  • BlobFields のディスプレイ オプションに対するサポート
  • TField クラスに対する GUID 直接アクセス

RTL

HTTP クライアント

HTTP Client ライブラリは、64 ビット Linux に対してサポートを提供するようになりました。

HTTP クライアントにおける非同期サポートの向上

64 ビット Linux に対する RTL サポート

RAD Studio 10.2 Tokyo では、標準システム関数、ストリーム、IOUtils ユニットを使用する、Linux ファイル システム サポートを提供しています。また、64 ビット Linux 用標準 RTL パス関数 サポートを提供しています。

アプリケーション テザリングの向上

アプリケーション テザリングでは、次の機能が追加されました。

  • TTetheringManagerTTetheringProfile に対して新しい SynchronizeEvents プロパティが追加され、メイン スレッドでイベントの同期が制御できるようになっています。これにより、ManagersProfiles は、自分のイベントハンドラがメイン スレッドで実行されるかどうかを制御できるようになりました。
  • ログ フィルタリングに対するサポートの向上: ログ メッセージがさらに追加されました。

新規および改善された Hash 関数

System.Hash ユニットの次のメソッドで、ストリームまたは文字列を入力パラメータとして受け取れるようになりました。

System.Hash ユニットには次の新しいメソッドがあり、ファイルからハッシュ ダイジェストを取得することができます。

モバイル プラットフォーム

モバイル用 C++ パッケージの改善

RAD Studio 10.2 Tokyo は、iOS および Android 用の C++ パッケージを静的にリンクします。RAD Studio の以前のバージョンでは、C++ パッケージ用のファイルを .so 拡張子で生成していましたが、これは実際には、動的ライブラリではありませんでした。RAD Studio 10.2 Tokyo では、C++ パッケージを正しいファイル拡張子(.a)で生成します。.so パッケージに対して静的にリンクしている場合、新しいファイル名にリンクを変更する必要があります。

RAD Server のマルチテナント サポート

マルチテナント サポートにより、RAD Server データベース接続が 1つである RAD サーバー インスタンス 1 つで、複数の独立したテナントをサポートできるようになりました。各テナントは、RAD Server リソースの一意のセット(ユーザー、グループ、インストール、エッジ モジュール、その他データ)を保有します。テナントはすべて、EMS Server にインストールされたカスタム リソースを持ちます。また、管理者として、新しいテナントの作成、既存のテナントの編集、テナントの詳細の追加、編集、削除、そのテナントがアクティブかどうかの指定、必要なくなった際のテナントの削除などが行えます。

C++ コンパイラ

デバッグ サポートの改善

Clang 拡張コンパイラにおいて:

  • Win32 および Win64 用Clang 拡張コンパイラで構築されたコード内のローカル変数が、ウォッチまたはローカル変数のビューで、常に評価が可能になりました。
  • 同じ名前のローカル変数が 2 つあり、それがあるメソッド内の異なるスコープにそれぞれある場合、変数評価は、両方とも名前解決し、現在の位置にしたがってそれを正しく表示するようになりました。
  • クラス名が、常にコール スタックに表示されるようになりました。
  • (Clang 拡張 Win32)デバッグ情報に対する外部タイプのファイルのサポート。多くのコンパイル ユニットで使用される共通型(VCL 型など)に対して作成される、デバッグ情報の重複を削減します。 これにより、ビルド時に生成されるデバッグ情報のサイズが大きく削減されるでしょう。

Codegen の改善

Clang 拡張コンパイラにおいて:

  • -O1 および -O2 最適化レベルの Codegen が改善され、ここでは既知の問題もすべて解決されています。
  • 新たに -O3 をサポートClang 拡張 Win32/Win64 コンパイラが -O3(強力な最適化レベル)をサポートしました。これにより、今までと同環境下で、2 倍のコード コンパイル パフォーマンスがでることもあります。

モバイル プラットフォーム サポート

  • C++ Android アプリケーションは、NDK の特定のバージョンを要求とすることなく、ビルドできるようになりました。

リンカ

  • C++ リンカで大きな改善が行われました:
    • ヒープ エラー(out of memory、VIRDEF、dwarf_str、など)を生じさせるリソース ハンドリングの改善。
    • リンカでは最大 4 GiB のメモリを使用できるようになりました。2 GiB に制限されることはもうありません。
    • リンカ オプションが拡張されたことにより、デバッグまたはリンカ データの特定の型に対する、リソース確保サイズを設定することができるようになりました。
大抵のプロジェクトには必要ありませんが、非常に大きいプロジェクトや、まれな量のリンク データ(デバッグ情報を含む)を生成するプロジェクトなどに有用です。リンカ エラーが発生する場合、プロジェクトの動作のオプションを調整することで解決できます。

例外処理

  • メモリーリークに関連するエラーに対処する、エラー処理について大きな品質向上がありました。

IDE

  • Delphi の支援機能およびコード補完が、静的および動的配列を正しく処理するようになりました。
  • [ファイル検索]ダイアログが、高 DPI の画面で動作するようになりました。
  • 異なる DPI でのフォームの設計やオープンのサポートが改善されました。
  • [表示]メニューが新たに構成されました。 [ツール]Windows(オブジェクト インスペクタ、構造、メッセージ、など)は、既存の[デバッグ ウィンドウ]サブメニューの下の[ツール ウィンドウ]サブメニューに移動され、新しい[エディタ]サブメニューには、エディタのコンテキスト メニューから、数多くの編集アクションや便利な機能が含まれています。 他の項目は、関連する項目とお互い隣接する一に移動されました。
[ツール ウィンドウ]サブメニュー [エディタ]サブメニュー
10.2 View Tool Windows.png 10.2 View Editor.png
  • [コード エディタ]タブおよびプロジェクト マネージャのファイルコンテキスト メニューに、メニュー項目[エクスプローラで表示]が追加されました。これは、ファイルの場所をエクスプローラで表示します。
  • プロジェクトのマニフェスト ファイル サポートが、複数の実行レベルをサポートするようになりました:[インボーカとして]、[使用可(最高)]、[管理者権限が必要]、そして、[UI アクセス]フラグも設定することができます。
  • IDE の読み込みスピードが、ネットワークの高負荷がかかってたり、ネットワーク接続が失われていても、高速になりました。
  • 非常に大きなプロジェクト グループ(100 以上のプロジェクトを持つような)の構築に対するサポートが向上しました。

デバッガ

iOS デバッガ

  • iOS10 デバッグに対するフルサポート(10.1 Berlin hotfix より)
  • iOS シミュレータ デバッグに対するフルサポート(10.1 Berlin hotfix より) - Delphi のみ
  • Delphi 文字列値の記述が、iOS デバッガでサポートされました。
  • 文字配列の評価が想定通りの結果を出すようになりました。
  • デバッグ セッションを終わらせるエラー(macOS 上でも同様)が解決されました。

macOS デバッガ

  • macOS Sierra デバッグのフルサポート(10.1 Berlin hotfix より)
  • デバッグ セッションを終わらせるエラー(iOS 上でも同様)が解決されました。

Linux デバッガ

  • Linux 上でのデバッグのサポート(Delphi のみ)

VCL

高 DPI での修正

高 DPI サポートの向上:

  • フォームの境界線は、WM_DPICHANGED メッセージに応じて正しく調節され(つまり、TForm.AutoScroll は正しく動作し)、フォームの上下の位置も正しく調整されます。
  • システムが DPI の異なる複数のモニターを持っている場合、フォームは正しい倍率で開かれます。
  • タブ シートに配置された TTabSheet、TPageControl、およびコントロール、またはページ コントロール
  • フォームを異なる DPI のモニタ間で移動させる際の ActionMainMenuBar
  • VCL メニュー(メイン メニューとポップアップ メニュー)が、高 DPI モニタ上で正しく表示されるようになりました。
  • TStatusBar の高さが、高 DPI でも正しく維持されるようになりました。
  • メッセージ ダイアログのアイコンが、正しくサイズ調整されるようになりました。
  • アンカー コントロールが、フォームを異なる DPI のモニタ間で移動させた際に、期待する位置に維持されるようになりました。
  • TCheckBox および TRadioButton が正しく描画されます。
  • フォーム継承についていくつか問題が修正されています。これには、ParentFont が true に設定されている継承フォームにコントロールが配置されても、それらは正しいフォント サイズを使用するようになり、TListView 列サイズは、継承フォーム上でも正しく保たれるようになりました。

その他の改善点

GetIt インストーラ

  • 並列ダウンロードの強化

クラウド

  • 更新された API による Azure と AWS のサポートの向上

コンパイラ

  • Delphi コマンドライン コンパイラは、大規模メモリ アドレスでも有効になり、コマンドラインから大規模アプリケーションのコンパイルが可能になりました(そして、IDE 内での起動時にメモリのマッチングがコンパイラに対して有効になります)。
  • 動的配列が参照カウントと関連するヘルパ 関数生成を伴う管理型の場合、@ 演算子を使用した配列要素のキャストは、メモリ破壊につながるため、できないようになります。同様の操作を実行することは、開発者の責任のもと、明示的なキャスト オペレーションを使用することで、なお可能です。

iOS 10 シミュレータ、デバイス、macOS

  • iOS 10 のフルサポート。これには、デバイス、シミュレータ サポート(Delphi のみ)、macOS Sierra サポート上での、iOS 10 32 ビットおよび 64 ビットのデバッグを含みます。

関連トピック

関連項目