> On Apr 4, 2021, at 2:36 PM, Sven Barth via fpc-pascal > <fpc-pascal@lists.freepascal.org> wrote: > > The RTTI streaming relies on *published properties* (and published methods > for the event handlers).
Sorry Sven, I'm not understand what I'm doing wrong. From original example "scale" is a published property right? So FieldAddress only works on published fields, which are not supported unless they are classes/interfaces. type TSomething = class(TPersistent) private m_scale: integer; published property scale: integer read m_scale write m_scale; end; I have used published properties like this for JSON streaming, i.e.: type TVectorObject = class(TPersistent) private components: array[0..2] of integer; published property x: integer read components[0] write components[0]; property y: integer read components[1] write components[1]; property z: integer read components[2] write components[2]; end; which works just fine so I assume I can use the RTTI functions, just not FieldAddress. Regards, Ryan Joseph _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal