Easiest is to just use $mode delphi, and leave the DIY dialect be.
Easy, yes, but not a good idea, from my point of view.
Lazarus forces a more strict use of the language.
For example You are not allowed to use
a var name twice in the declaration of
for example:
nativeRegiontype
TMyObject = class(TComponent)
protected
nativeRegion: GpRegion;
...
public
constructor Create(aNativeRegion: GpRegion); reintroduce; overload;
...
end;
When changing from {$MODE Delphi} to {$mode objfpc}{$H+}
I found several bugs .. using the local or global var in the wrong way ..
And I already can handle most of the code differences
between Delphi and Lazarus by using lots of $ifdef