Delphi语言功能列表以及引入/弃用它们的版本

LaK*_*ven 110 delphi delphi-2007

在开始之前,我想指出的是,我已经通过谷歌进行了这样的事情,并且无法找到一个,我已经诚实而真实地搜索过.

我要求(对于我正在开发的项目)列出所有Delphi(2007年到最新发布的版本,我不再支持2007年以前的任何版本)"语言功能",以及它们被引入的版本和(在适用的情况下)弃用,改进或删除.

我之前已经在Stack Overflow上注意到类似的问题,尽管其中大部分是以"哪个特征最好"的形式表达的,并且被认为是不合适的.

如果有人知道这样的清单(或有足够的业余时间来编制一个清单),我将非常感激.

接受的答案将包含指向此类列表的链接或列表本身.

Joh*_*ica 154

请注意,此答案仅列出新语言功能,
而不是新的VCL/FMX功能.

以下是RAD Studio docwiki的链接:

Embarcadero的完整列表:最新消息
另请参阅:David I的列表


总结一下:

Delphi 10.3.x,10.4(尚未推出,这是推测性的)

德尔福10.3

  • 64位Linux编译器不再使用ARC,而是使用默认的手动托管,这与Windows编译器中的相同.这使得从Windows或OSX到Linux的代码更容易移植.
  • 具有自动类型推断的内联变量
  • 在Linux上启用8位AnsiChar/AnsiString支持.
  • C++ Builder和Delphi现在对所有调用都使用相同的ABI.

德尔福10.2东京

德尔福10.1柏林

德尔福10西雅图

  • Support for Android 5.1.1 and iOS 8.4
  • Improved OSX exception handling

Delphi XE8

  • Support for 64-bit iOS;
  • New integer types: FixedInt, FixedUInt 32-bit integer types on all platforms;
  • New platform dependent integer types: LongInt, LongWord (64-bits on iOS-64, 32-bits on all other platforms);

Delphi XE7

Delphi XE6

Delphi XE5

Delphi XE4

At XE4, this changed so that $ENDIF became an accepted terminator for $IF, $IFDEF, $IFNDEF, and $IFOPT.

Delphi XE3

Delphi XE2

Delphi XE

  • The {$STRINGCHECKS} compiler directive is ignored in XE;
  • New 16-byte value for the {$ALIGN} directive: The acceptable values for the {$ALIGN} directive now include 1, 2, 4, 8, and 16.
  • new {$CODEALIGN} directive, this sets the starting address for a procedure or function.
  • The {$STRONGLINKTYPES ON} directive
  • Support for regular expressions.

Delphi 2010

  • Enhanced Delphi RTTI (Run Time Type Information).
  • Attributes
  • The as operator can be used to cast an interface reference back to the object from which it was extracted.
  • The is operator can be used to verify whether an interface reference was extracted from a certain class.
  • Normal unsafe casting can be performed on an interface: TObject(SomeInterface).
  • new delayed directive indicates that an external library such as a DLL is not to be loaded at declaration time but is to wait until the first call to the method
  • Class Constructor/Destructor

Delphi 2009

Delphi 2007

  • No language changes that I know of;
    Note that Delphi 2007 is a non-breaking release, DCU's from D2006 will work unchanged in D2007;
  • (The .NET 'personality' of 2007 introduced generics)

Delphi 2006

Delphi 2005

  • for ... in loops,
  • inline keyword
  • Wildcard in uses statement allowed
  • nested types
  • nested constants
  • {$REGION}/{$ENDREGION} directives

Delphi 7

  • three additional compiler warnings:
    • Unsafe_Type,
    • Unsafe_Code, and
    • Unsafe_Cast. These warnings are disabled by default, but can be enabled
  • new compiler directive {$WARN UNSAFE_CODE ON}
  • Overloads of routines that format and parse numbers, date-time values, and currency using a TFormatSettings structure.

Delphi 6

RRU*_*RUZ 16

只是为了补充Johan的答案,请在我的博客上查看此条目List of changes between versions of Delphi (Since Delphi 5)以及The TIndex列出自delphi 2005以来的大部分新功能以及每个资源的优秀页面.

  • 我是The TIndex的所有者,我可以确认这是误报. (2认同)

afr*_*ier 7

Dephi JEDI项目使用的jedi.inc文件公开了一系列功能定义.如果您的项目与MPL兼容,您甚至可以将其用于特征检测,并省去重新发明特定轮子的麻烦.

例如,它定义SUPPORTS_FOR_IN编译器是否支持枚举器.可以将枚举器代码包装在IFDEF对该定义的检查中,而不是检查特定的编译器版本.


归档时间:

查看次数:

26828 次

最近记录:

6 年,9 月 前