& operator for treating keywords as identifiers |
Delphi 2006 |
{$IFEND} directive no longer required to close {$IF} statements: {$ENDIF} can now be used instead.2 |
Delphi XE4 |
{$LEGACYIFEND} directive2 |
Delphi XE5 |
{$MESSAGE} directive |
Delphi 6 |
{$WARN} directive |
Delphi 7 |
64 bit compiler |
Delphi XE2 |
Abstract classes |
Delphi 2006 |
Anonymous methods / closures |
Delphi 2009 |
Attributes |
Delphi 2010 |
class constructors / destructors |
Delphi 2010 |
Class data (class var) |
Delphi 2006 |
Class helpers |
Delphi 2006 |
Class properties |
Delphi 2005 |
Custom managed records |
Delphi 10.4 |
delayed keyword (for loading of DLLs) |
Delphi 2010 |
deprecated directive |
Delphi 6 |
deprecated directive with comment |
Delphi 2009 |
DirectoryExists function moved to SysUtils unit from FileCtrl |
Delphi 6 |
Dynamic arrays |
Delphi 4 |
Dynamic array concatenation and addition extensions. Dynamic arrays can be initialised by assigning an array constant, as in DI := [1, 2, 3]; and can be concatenated using code like DI := DI + [1, 2, 3]; or DI := DJ + DK , where DI, DJ & DK are all dynamic integer arrays. |
Delphi XE7 |
EOSError (instead of EWin32Error) |
Delphi 6 |
ExcludeTrailingPathDelimiter function |
Delphi 6 |
Exit with result parameter |
Delphi 2009 |
Final methods |
Delphi 2006 |
Floating point number comparison routines added to Math unit. |
Delphi 63 |
for .. in loops |
Delphi 2005 |
Frames |
Delphi 5 |
Function inlining |
Delphi 2005 |
Generics |
Delphi 2009 |
IInterface |
Delphi 6 |
IncludeTrailingPathDelim function |
Delphi 6 |
Inline variable declarations |
Delphi 10.3 |
inline keyword |
Delphi 2005 |
Inner exceptions |
Delphi 2009 |
Insert and Delete RTL routines can be used with dynamic arrays in a similar way to how they are used with strings. |
Delphi XE7 |
Int8 type |
Delphi 2009 |
Int16 type |
Delphi 2009 |
Int32 type |
Delphi 2009 |
Int64 type |
Delphi 4 |
Interface to object casting |
Delphi 2010 |
library directive |
Delphi 6 |
LongWord type |
Delphi 4 |
Margins and Padding properties on TControl |
Delphi 2006 |
Namespaces [more info]. See also: Unit scope names. |
Delphi 2005 |
Nested constants within classes / records |
Delphi 2005 |
Nested types within classes |
Delphi 2005 |
Operator overloading on records |
Delphi 2006 |
Overloading for functions, procedures and methods |
Delphi 4 |
platform directive |
Delphi 6 |
RaiseLastOSError procedure |
Delphi 6 |
Record Helpers for simple types |
Delphi XE3 |
Records with methods |
Delphi 2006 |
resourcestring statement |
Delphi 3 |
RTTI enhancements |
Delphi 2010 |
SafeLoadLibrary function |
Delphi 5 |
Scoped enumerators (must have type name prefix) |
Delphi 2009 |
Sealed classes |
Delphi 2006 |
static directive for class methods |
Delphi 2005 |
strict private and strict protected visibility specifiers |
Delphi 2005 |
string type is UnicodeString |
Delphi 2009 |
StrUtils unit |
Delphi 6 |
TApplication.MainFormOnTaskbar property |
Delphi 2007 |
TArray type in System unit. |
Delphi 2010 |
TBytes alias for array of Byte |
Delphi 2007 |
Text format form files |
Delphi 5 |
TFormatSettings and overloaded format and conversion routines that use it |
Delphi 7 |
TObject.Equals virtual method |
Delphi 2009 |
TObject.GetHashCode virtual method |
Delphi 2009 |
TObject.ToString virtual method |
Delphi 2009 |
TObject.UnitName method |
Delphi 2009 |
Touch support |
Delphi 2010 |
TRegistry supports access flags |
Delphi 6 |
TRegistry.OpenKeyReadOnly method |
Delphi 4 |
TryStrToXXXX routines added to SysUtils |
Delphi 6 |
TStream supports 64 bit size and seek offsets |
Delphi 6 |
TStringList.Create(OwnsObjects: Boolean) constructor overload |
Delphi 2009 |
Types unit |
Delphi 6 |
UInt8 type |
Delphi 2009 |
UInt16 type |
Delphi 2009 |
UInt32 type |
Delphi 2009 |
UInt64 type |
Delphi 7 |
Unicode identifier names |
Delphi 2005 |
Unicode source files |
Delphi 2005 |
Unicode support (inc Windows API) |
Delphi 2009 |
UnicodeString type |
Delphi 2009 |
Unit conversion handling (that's unit as in mm or inches, not unit as in source code unit) |
Delphi 6 |
Unit scope names [More info]. See also: Namespaces. |
Delphi XE2 |
UTF8 source files |
Delphi 2005 |
UTF8Decode and UTF8Encode routines |
Delphi 6 |
UTF8String type |
Delphi 6 |
Variants unit |
Delphi 6 |
VCL styles |
Delphi XE2 |
XMLDoc documentation |
Delphi 2005 |