Delphi language features missing from the Free Pascal Compiler

From Free Pascal wiki
Jump to navigationJump to search

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

AS and IS extended for interfaces

Info is here: http://docwiki.embarcadero.com/RADStudio/en/Interface_References#Casting_Interface_References_to_Objects

Misc:

  1. {$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>

  1. {$pointermath ON} directive which turns on pointer arithmetic.

Reference

  1. http://edn.embarcadero.com/article/34324
  2. http://edn.embarcadero.com/article/images/39076/New_Delphi_Coding_Styles_and_Architectures.pdf
  3. http://docwiki.embarcadero.com/RADStudio/en/What's_New_in_Delphi_and_C%2B%2BBuilder_2010