Ja, CONST ist wie VAR, nur halt "schreibgeschützt" ... das gilt für Typen über 32 Bit. (bis 32 Bit wird meistens optimiert und dann doch der Wert, anstatt einem Zeiger übergeben)
Genau, das gillt für Delphi. FPC hat da scheinbar aber andere Regeln. Musste das Interface so ändern, dass statt
const TType
jetzt explizit
PType
verwendet wird.
Edit:
Wobei scheinbar
const
auch bei Delphi keine Garantie für "pass by reference" ist. In neueren Versionen gibt es hierfür wohl den
[Ref]
Decorator. Für FreePascal kann man
constref
verwenden. Um einheitlich zu bleiben habe ich mich jetzt aber für die expliziten Zeigertypen entschieden.