Today I discovered that passing a record as value to a function will call the "Copy" Class Operator, in Delphi it's called the "Assign". This is good news, news I wish I knew earlier, which I believe did ask about but got a "I am not sure" answer, very understandable.
I had thought I tested this before hand and concluded that it didn't call the COPY ( constructor ) when passing by value to a function but today, using 3.2.4, it seems I must of been incorrect or 3.2.4 has fixed this.
I know it worked if doing a := between records.
TTestRec = Record
S :String;
Class Operator Copy(Constref Src:TTestRec;var Dest:TTestRec);
End;
But I see either I missed that or it now works with VALUE parameters in 3.2.4
Jamie