7.3.1 Missing language constructs

At the level of language compatibility, FPC is very compatible with Delphi: it can compile most of FreeCLX, the free Widget library that was shipped with Delphi 6, Delphi 7 and Kylix.

Currently, the only missing language constructs are:

  1. Dynamic methods are actually the same as virtual.
  2. Const for a parameter to a procedure does not necessarily mean that the variable or value is passed by reference.
  3. Packages are not supported.

There are some inline assembler constructs which are not supported, and since Free Pascal is designed to be platform independent, it is quite unlikely that these constructs will be supported in the future.

Note that the -Mobjfpc mode switch is to a large degree Delphi compatible, but is more strict than Delphi. The most notable differences are:

  1. Parameters or local variables of methods cannot have the same names as properties of the class in which they are implemented.
  2. The address operator is needed when assigning procedural variables (or event handlers).
  3. AnsiStrings are not switched on by default.