Martin Schreiber wrote 5 lines
That documentation seems to be incorrect for says:
" Value and constant (const) parameters are passed by value or by reference, depending on the type and size of the parameter: ...
An exception to this rule is that records are always passed directly on the stack under the cdecl, stdcall, and safecall conventions"
The entire reason we introduced the "constref" modifier was because const records appear to be always passed by *reference* if you use stdcall under Delphi.
And with 64 bit, some things change for Delphi: http://twitter.com/kylix_rd/statuses/48209068124422144
The other remark from Allen Bauer I posted was in reply to someone who complained about this.
Jonas