I have been experimenting trying to compile in older Lazarus version and then returning back.
Disabling all filters on "Messages" I now get this:
Debug: /Volumes/DiskW/shared-code/xxx/UmsSysConvert.pas(1021,1) (3049) procedure/function msAlignmentToStr(const TAlignment):AnsiString;
Debug: An unhandled exception occurred at $000000010D98DBEE:
Debug: EAccessViolation: Access violation
Debug: $000000010D98DBEE
Debug:
Verbose: Assembling (pipe) /Volumes/DiskW/yyy/lib/x86_64-darwin/UmsSysConvert.s
Fatal: Compilation aborted
Verbose: /Users/zzz/lazaruscoc64bit/fpc/bin/x86_64-darwin/ppcx64 returned an error exitcode
....
The only worthwhile thing mentioning about declaration:
function msAlignmentToStr(const Alignment: TAlignment): string;
is that it is placed just before
implementionand its implementation is placed just before
end. function msAlignmentToStr(const Alignment: TAlignment): string;
begin
case Alignment of
taLeftJustify: Result := 'left';
taRightJustify: Result := 'right';
taCenter: Result := 'center';
else Result := '';
end;
end;