Delphi language features missing from the Free Pascal Compiler

From Lazarus wiki
Revision as of 15:45, 18 January 2013 by Paul Ishenin (talk | contribs) (Delayed directive)

Note: some of new Delphi features are already implemented in FPC trunk.

New since Delphi 2007

Advanced Records

Advanced records are implemented in FPC 2.6.X without record constructors. Record constructors are implemented in FPC 2.7.1 (trunk).

New since Delphi 2009

Generics Syntax

A good delphi reference is here:

Partially implemented in 2.5.1/2.6.x, further improved in 2.7.1 by Sven

Support for ansistrings with a definable codepage

Initial implementation available in trunk (2.7.1). Useful for small time testing, but the whole of the codebase hasn't adapted (2011-10-18)

Anonymous Methods

New since Delphi 2010

Custom Attributes

Enhanced RTTI

Delayed directive

Info is here: Some info about internals:


fpc wiki about that topic:

Originally I thought that delayed is similar to weakexternal which FPC has for some platforms but after reading this: I undersatnd that this is simple a wrapped around LoadLibrary and GetProcessAdress with automatic loading and unloading.--Paul Ishenin 13:45, 18 January 2013 (UTC)

AS and IS extended for interfaces

Info is here:


Already implemented in FPC 2.6.0.


  1. (Library) packages
  2. "automated" keyword, which is like "public", but generates COM specific RTTI. Afaik this kind of COM usage is deprecated though.