Delphi language features missing from the Free Pascal Compiler
From Free Pascal wiki
New since Delphi 2007
Operator Overloading Syntax for records and classes
Info: http://docwiki.embarcadero.com/RADStudio/en/Operator_Overloading http://wiert.wordpress.com/2009/10/19/delphi-operator-overloading-table-of-operators-names-and-some-notes-on-usage-and-glitches/
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
fpc wiki about that topic: http://wiki.freepascal.org/Dynamically_loading_headers
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.