1. ホーム
  2. delphi

[解決済み] Delphiの言語機能一覧と導入・廃止されたバージョン

2022-05-17 09:08:45

質問

始める前に、私は正直に、純粋に、Google でそのようなものを繰り返し徹底的に探しましたが、見つけることができなかったことを指摘しておきたいと思います。

私は (開発中のプロジェクトのために) すべての Delphi (2007 から最新のリリース バージョンまで。2007 より古いバージョンはもうサポートしない) の "Language Features" およびそれらが導入されたバージョンと (該当する場合) 非推奨、改良または削除のリストを要求します。

私は以前 Stack Overflow でこれと同様の質問を書きましたが、それらのほとんどは "どの機能がベストか、という形で表現され、適切でないと判断され、閉じられました。

もし誰かがそのようなリストを知っていれば (またはそれをコンパイルするのに十分な空き時間があれば)、私は非常に感謝します。

承認された回答は、そのようなリストへのリンクか、リストそのものを含んでいます。

どのように解決するのですか?

この回答では、新しい 言語 機能

ではない VCL/FMXの新機能を紹介します。

RAD Studio docwiki へのリンクはこちらです。

エンバカデロからの全リストです。 新着情報

こちらもご覧ください。 David I氏のリスト


要約すると

デルファイ 10.4

  • すべてのプラットフォームで統一されたメモリ管理 - フル ARC コンパイラは削除され、すべてのコンパイラはオブジェクトに対して手動 (クラシック) のメモリ管理を使用するようになりました。
  • カスタム管理レコード
  • macOS 64 ビット対応
  • Android 64 ビット対応

デルファイ 10.3

  • 64 ビット Linux コンパイラは、もはや ARC を使用しません。 代わりに、Windows コンパイラーと同じデフォルトの手動マネージドを使用します。これにより、Windows や OSX から Linux へのコードの移植がより簡単になります。
  • インライン変数 自動型推論付き
  • 8 ビット AnsiChar/AnsiString のサポートが Linux で有効になりました。
  • C++Builder と Delphi は、すべての呼び出しに同じ ABI を使用するようになりました。

Delphi 10.2 東京

Delphi 10.1 ベルリン

Delphi 10 シアトル

  • Android 5.1.1 および iOS 8.4 のサポート
  • OSX の例外処理の改善

Delphi XE8

  • 64 ビット iOS をサポートします。
  • 新しい整数型。 FixedInt , 固定UInt すべてのプラットフォームでの 32 ビット整数型。
  • プラットフォーム依存の新しい整数型。 LongInt , 長い単語 (iOS-64では64ビット、その他のプラットフォームでは32ビット)。

Delphi XE7

デルファイ XE6

デルファイ XE5

デルファイ XE4

XE4 では、$ENDIF が $IF, $IFDEF, $IFNDEF, および $IFOPT の終端として認められるように変更されました。

デルファイ XE3

Delphi XE2

Delphi XE

  • {$STRINGCHECKS} コンパイラディレクティブは XE では無視されます。
  • 新しい 16 バイトの値 {$ALIGN} ディレクティブのための新しい 16 バイトの値です。 ディレクティブに使用できる値は {$ALIGN} ディレクティブで使用可能な値は 1, 2, 4, 8, 16 となりました。
  • 新しい {$CODEALIGN} ディレクティブで、プロシージャや関数の開始アドレスを設定します。
  • {$STRONGLINKTYPES ON} ディレクティブ
  • 正規表現のサポート。

デルファイ 2010

  • Delphi RTTI (ランタイム タイプ情報) を強化しました。
  • 属性
  • as 演算子を使うと、インターフェース参照を抽出したオブジェクトにキャストして戻すことができます。
  • is 演算子は、インターフェイスの参照が特定のクラスから抽出されたかどうかを確認するために使用することができます。
  • 通常の安全でないキャストをインターフェイス上で実行することができます。 TObject(SomeInterface) .
  • 新しい delayed ディレクティブは、DLL などの外部ライブラリが宣言時にロードされず、メソッドの最初の呼び出しまで待機することを示します。
  • クラス・コンストラクタ/デストラクタ

デルファイ 2009

デルファイ 2007

  • 私が知っている限りでは、言語の変更はありません。

    Delphi 2007 はノン・ブレークリリースであり、D2006 からの DCU は D2007 で変更なく動作することに留意してください。 ;
  • (2007年の.NETの「個性」) はジェネリックを導入した )

デルファイ 2006

デルファイ2005

  • for ... in ループを使用します。
  • inline キーワード
  • uses文のワイルドカードが使用可能
  • ネストされた型
  • ネストされた定数
  • {$REGION} / {$ENDREGION} ディレクティブ

デルファイ 7

  • 3 つの追加のコンパイラ警告。
  • Unsafe_Type。
  • Unsafe_Code、および
  • Unsafe_Cast です。 これらの警告はデフォルトでは無効になっていますが、有効にすることができます。
  • 新しいコンパイラディレクティブ {$WARN UNSAFE_CODE ON}
  • 数値、日時値、通貨をフォーマットしパースするルーチンのオーバーロード。 TFormatSettings 構造を使用した数値、日付時刻値、通貨のフォーマットとパースルーチンのオーバーロード。

デルファイ 6

デルファイ 5

新しい言語機能はありませんが

デルファイ 4

デルファイ 3

  • ワードブール、ロングブール、バイトブールストア true として -1 の代わりに 1 を指定します(ブール値は変更されません)。
  • コンポーネントのインストールは packages .
  • アサーションです。
  • out パラメータを使用します。
  • Widestring
  • interface そして dispinterface キーワードと COM ( dispid ) をサポートします。

デルファイ 2

  • 32 ビットをサポートします。
  • Ansistring リプレース shortstring をデフォルトの文字列型として使用します。
  • Currency
  • Variant (OLEオートメーションとの相互運用のため)。
  • スレッドのサポートと ThreadVar キーワードをサポートします。
  • 4バイトのデータは4バイトアラインの新 packed キーワードはこの動作をオーバーライドします。
  • TDateTimeの開始位置は 1899/12/30 で始まり、D1 では 0000/00/00
  • 新しい finalization キーワード
  • register そして stdcall の呼び出し規約が追加されました。
  • packed キーワードを追加しました。