D.3 Delphi mode

This mode is selected by the $MODE DELPHI switch. It tries to emulate, as closely as possible, the behavior of Delphi 4 till recent versions of Delphi . On the command line, this mode is selected by the -Mdelphi switch.

  1. You cannot use the address operator to assign procedural variables.

  2. A forward declaration does not have to be repeated exactly the same by the implementation of a function/procedure. In particular, you can omit the parameters when implementing the function or procedure.

  3. Ansistrings are default, this means that $MODE DELPHI implies an implicit {$H ON}.

  4. Overloading of functions only allowed with Overload modifier.

  5. Inline code is allowed: There is no need to enable it with the {$INLINE} directive.

  6. Nested comments are not allowed.

  7. The Objpas unit is loaded right after the system unit. One of the consequences of this is that the type Integer is redefined as Longint. Inversely, it means that system.integer is always 16-bit.

  8. Parameters in class methods can have the same names as class properties (although it is bad programming practice).