<p>Am 08.02.2015 22:08 schrieb "Maciej Izak" <<a href="mailto:hnb.code@gmail.com">hnb.code@gmail.com</a>>:<br>
> To achieve this I need to create new special record operators:<br>
><br>
> ====== code begin ======<br>
> {$MODESWITCH MANAGEMENTOPERATORS}<br>
><br>
>   TValue = record <br>
>     ...<br>
>     class operator Initialize(Data, TypeInfo: Pointer): pointer;<br>
>     class operator Finalize(Data, TypeInfo: Pointer): pointer;<br>
>     class operator Copy(Source, Dest, TypeInfo: Pointer): pointer;<br>
>   end;<br>
> ====== code end ======</p>
<p>This is /really/ bad design. If you want such operators they would need to be defined like this:  </p>
<p>  TValue = record <br>
    ...<br>
    class operator Initialize(var aRec: TValue);<br>
    class operator Finalize(var aRec: TValue);<br>
    class operator Copy(constref aSource: TValue; var aDest: TValue);<br>
  end;<br>
====== code end ======</p>
<p>Regards,<br>
Sven</p>