Feature | Version |
---|---|
& operator for treating keywords as identifiers | Delphi 2006 |
{$IFEND} directive no longer required to close {$IF} statements: {$ENDIF} can now be used instead. | Delphi XE4 |
{$LEGACYIFEND} directive | 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 6 |
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 | 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 |
PosEx introduced | Delphi 7 |
PosEx became obsolete. Pos got third offset argument | Delphi XE3 |
Variants unit | Delphi 6 |
VCL styles | Delphi XE2 |
XMLDoc documentation | Delphi 2005 |
Multiline String Literals | Delphi 12 Athens |
Former source: delphiDabbler.com
Embarcadero Delphi 10.4 does not support Windows 7. Delphi 10.3 still does.
RAD Studio 12 offers official support for iOS 17 (for Delphi only), Android 14, and macOS Sonoma. RAD Studio 12 also supports Ubuntu 22 LTS and Windows Server 2022.