Delphi language features missing from the Free Pascal Compiler
From Free Pascal wiki
New since Delphi 2007
Operator Overloading Syntax for records and classes
Class Helpers
Records with Methods
Class Variables, Types and Consts
Class Properties
Static Class Methods
New since Delphi 2009
Generics Syntax
Unicode string support
Anonymouse Methods
New since Delphi 2010
Custom Attributes
Enhanced RTTI
Delayed directive
Info is here: http://docwiki.embarcadero.com/RADStudio/en/Libraries_and_Packages#Delayed_Loading
AS and IS extended for interfaces
Info is here: http://docwiki.embarcadero.com/RADStudio/en/Interface_References#Casting_Interface_References_to_Objects
Misc:
- {$SCOPEDENUMS ON} directive which allows to use enumeration name before the item. Example:
<delphi> type
TColor = (red, green, blue);
begin
WriteLn(ord(TColor.red));
end; </delphi>
- {$pointermath ON} directive which turns on pointer arithmetic.