Delphi language features missing from the Free Pascal Compiler
From Lazarus wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Note: some of new Delphi features are already implemented in FPC trunk.
New since Delphi 2007
Advanced Records
http://docwiki.embarcadero.com/RADStudio/en/Structured_Types#Records_.28advanced.29
Implemented without record constructors.
New since Delphi 2009
Generics Syntax
A good delphi reference is here: http://docwiki.embarcadero.com/RADStudio/en/Generics_Index
Partially implemented in 2.5.1
Support for ansistrings with a definable codepage
Anonymous Methods
New since Delphi 2010
Custom Attributes
Enhanced RTTI
http://docwiki.embarcadero.com/RADStudio/en/RTTI_directive_(Delphi)
Delayed directive
Info is here: http://docwiki.embarcadero.com/RADStudio/en/Libraries_and_Packages#Delayed_Loading Some info about internals:
- http://blogs.embarcadero.com/abauer/2009/08/25/38894
- http://blogs.embarcadero.com/abauer/2009/08/29/38896
- http://blogs.embarcadero.com/chrishesik/2009/11/02/35056
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
- http://blogs.embarcadero.com/abauer/2009/08/21/38893
Misc
- (Library) packages
- "automated" keyword, which is like "public", but generates COM specific RTTI. Afaik this kind of COM usage is deprecated though.