Delphi(日本語版)10.4 Sydney

Released: May 29, 2020

10.4 Sydney での更新項目

機能

新しい Delphi 機能

  • 主な Delphi 支援機能の改善内容:ここ何年もの間の中でも Delphi のコード ツールに対する最大かつ最善の改善点となるべく、RAD Studio 10.4 では、LSP(Language Server Protocol)の Delphi 実装を使用した支援機能を提供します。LSP は、コード補完、ナビゲーション、または同様のことに対する結果を、別のプロセスにおいて計算する技術です。つまり、IDE はコードを補完する間ブロックすることはなくなり、コード支援機能の結果はさらに精度の高いものとなります。10.4 は、数百万行のコードからなる大規模プロジェクトで作業する際、開発者に大幅に強化された生産性体験をもたらすでしょう。
  • Delphi での新しい言語機能( カスタム管理レコード):A key language addition to the Delphi 言語へ追加された主な言語機能である Delphi レコード型は、カスタム初期化、ファイナライズ、コピー演算子をサポートするようになりました。開発者は、さまざまなステップで実行されるコードを記述することで、レコードがどのように作成、コピー、破壊されるかをカスタマイズできるようになりました。これにより、Delphi のレコードにさらに機能が追加され、クラスと比較して効率を向上させるために使用される新たな構造の1つとなります。
  • メモリ管理の統合:
    • Delphi は、メモリ管理は、すべてのサポート プラットフォーム --- モバイル、デスクトップ、サーバー --- にわたって統合されました。これは、オブジェクト メモリ管理の従来の実装を使用しています。ARC(Automatic Reference Counting:自動参照カウント)に比べ、これは、既存のコードとのより良い互換性と同時に、コンポーネント、ライブラリ、エンドユーザー アプリケーションに対してはよりシンプルなコードを提供します。ARC モデルは、文字列管理や、インターフェイス型の参照のために、すべてのプラットフォームで引き続き維持されます。
    • C++ の場合、この変更は、C++ における Delphi スタイル クラスの作成や削除が、ちょうど他のヒープ領域確保される C++ クラスのように通常のメモリ管理に従うことを意味し、複雑性が著しく削減されます。

新しい VCL ウィンドウ機能

  • 高 DPI における VCL スタイルの変更:
    • 10.4 では、VCL スタイル アーキテクチャが大幅に拡張され、高 DPI および 4K モニターをサポートしています。VCL フォーム上のすべての UI コントロールは、フォームが表示されるモニターの適切な解像度に合わせて自動的にサイズ変更されます。
    • スタイル API は完全に改訂され、高 DPI スタイルをサポートしています。各 UI 要素は、マルチスケール版のライブラリから選択し、任意の DPI にサイズ変更できるため、すべてのモニターで鮮明な UI 要素を実現できます。
  • 新しい 高 DPI スタイル:多数のビルトインおよびプレミアム VCL スタイルを更新し、新しい高 DPI スタイル モードをサポートすることで、あらゆるモニター向けの完成度の高いアプリケーションの設計が可能になりました。
  • コントロール スタイル単位での VCL:VCL 開発者は、単一のアプリケーション内の異なるフォーム、または同じフォーム上の異なる ビジュアル コントロールにおいて、複数の VCL スタイルを使用できるようになりました。これには、デフォルト プラットフォーム テーマを使用した要素のスタイルに対するサポートも含まれています。スタイルにさらなる柔軟性を加えるだけでなく、これは、スタイル付き VCL アプリケーションでの、サードパーティ製スタイル無しコントロールの使用も可能にします。
  • 新しい VCL コンポーネント(Edge ブラウザ コントロール):
    • 10.4 には、新しい VCL Web ブラウザ コンポーネント、TEdgeBrowser が含まれており、これは、Chromium ベースの Microsoft の新しい Edge WebView2 を使用しています。これにより、Internet Explorer をベースとした古い TWebBrowser に比べ、はるかに[]最新で安全な HTML エンジンが提供されます。
    • さらに、従来の TWebBrowser コンポーネントが拡張され、既存のアプリケーションのブラウザ コントロールの表示に、既存の Internet Explorer または Edge ブラウザを、そのシステムで利用可能なブラウザに応じて、使えるようになりました。
  • 新しい VCL コンポーネント(TTitleBarPanel およびカスタム タイトル バー):新しい TTitleBarPanel コントロールおよび TForm.CustomTitleBar プロパティにより、VCL フォームのネイティブ Windows タイトル バーをカスタマイズできるようになりました。VCL コントロールを Windows タイトル バーに配置でき、ウィンドウ アイコンやキャプションといった要素のデフォルト描画を制御でき、[最小化]、[最大化]、[閉じる]の各ボタンの近くに、新しいカスタム システム ボタンを追加したり、タイトル バーそのものを完全にカスタマイズ描画することも可能です。これにより、Office、Explorer、Google Chrome やその他のアプリケーションに似た、最新の拡張タイトル バーを構築できるようになります。
  • 新しい VCL コンポーネント(多重解像度サポートされたイメージ コンポーネント):多重化像度と DPI スケーリングをサポートした新しい TVirtualImage コンポーネントがあり、従来の TImage コンポーネントと置き換えることにより、高品質なイメージ スケーリングと表示が手に入ります。
  • Windows API の更新
  • RAD Studio が提供する優れたプラットフォーム統合をさらに向上させるため、多くの API 宣言を拡張し、さらに追加も行いました。

FireMonkey プラットフォームの主な拡張

  • macOS および iOS に対する Metal ドライバ GPU サポート: macOS プラットフォーム(Delphi)で、古い Quartz API や OpenGL(Apple で廃止予定)ではなく、Metal API に対してアプリケーションを構築できるようになりました。FireMonkey Metal のサポートにより、今後の要件へのスムーズな移行と、画面描画のより良いパフォーマンスが提供されます。10.4 ではまた、iOS での Metal API に対するサポートが追加されています。
  • 最新の iOS SDK のサポートに加え、RAD Studio 10.4 を使用している開発者は、組み込みの IDE サポートを通日、Apple の起動画面のストーリーボード要件にも対応できます。
  • このリリースでは、Windows プラットフォームでのスタイル付き TMemo コンポーネント用の新しい FMX 実装が含まれており、IME のサポートが改善され、追加の機能強化が行われています。
  • Enterprise Edition および Architect Edition のお客様は、Linux GUI アプリケーションを構築するのに、FMXLinux 統合機能を利用することができます。
  • iOS 用 TWebBrowser コントロールは、WKWebView API を使用して実装されました。
  • Media Player コントロール の macOS 実装は、AVFoundation を使用しています。
  • FireMonkey フレームワークを使用する開発者は、サポート済みオペレーティング システムの最新バージョンをターゲットとすることができます。

ランタイム ライブラリの主な主要強化

  • 拡張された並列プログラム ライブラリのサポート: PPL(Parallel Programming Library:並列プログラミング ライブラリ)により、アプリケーションは、最新のマルチコア CPU でタスクを並列実行させることができます。10.4 では、数多くのパフォーマンスおよび安定性の強化を、PPL ライブラリに施しました。
  • In 10.4、FireDAC データベース アクセス ライブラリに一般的な強化を行い、また、FireBird、PostgreSQL、SQLite のドライバを更新しました。SQLite 組み込みデータベースの場合、静的リンクと動的リンクが選択できるようになりました。
  • HTTP および REST のクライアント ライブラリを、追加の HTTPS 機能で拡張し、また、Amazon AWS サービスに対するサポートも拡張しました。
  • LiveBindings のパフォーマンスと機能の強化
    • 10.4 では、VCL と FireMonkey アプリケーションの両方について、Visual LiveBindings アーキテクチャと実装に数多くの強化を、特にパフォーマンスに集中して行いました。その結果、一部の LiveBindings オペレーションは、ひと桁高速になりました。
    • その他の機能強化には、TDataSet にバインドされた VCL および FMX コントロールが、DisplayWidth、Alignment、EditMask といった関連付けられた TField プロパティを、自動的に適応する機能が含まれます。

IDE の主な拡張

  • GetIt パッケージ マネージャの拡張
    • IDE での GetIt パッケージ マネージャでは、10.4 において大きな強化が行われています。これには、各パッケージをリリース日でソートして表示する機能、インストールされたパッケージ、更新サブスクリプションのお客様が利用できる専用コンテンツ、更新が利用可能なパッケージなどに対する新しいフィルタ オプションなど含まれています。
  • オンラインおよびオフライン インストールのための統合インストーラ
    • 10.4 では、GetIt インストーラ技術を使用した統合インストーラが導入されています。これにより、オンラインの(インターネット接続されている)インストールと、オフラインの(ISO を介した)インストールの両方が、単一インストーラでサポートされます。オンラインとオフラインのインストールの両方で、プログラム言語とターゲット プラットフォームの特定の組み合わせのサポート、言語サポート、ヘルプ リソースなど、インストールする RAD Studio 機能の初期セットを選択することができ、それらはいつでも追加または削除することができます。
  • コード エディタでは、生産性向上のための改善が複数行われており、エディタのステータス バー上のファイル コードページやフォント サイズなどの新しい設定などがあります。
  • IDE および主要ダイアログは、新しい TCustomTitleBar コントロールを使用して、タイトル バー上の検索および設定を実装しており、これにより、ネイティブのルック&フィールと Windows DWM の動作が実現されています。