<div dir="auto"><div><div class="gmail_quote"><div dir="ltr">Ryan Joseph <<a href="mailto:ryan@thealchemistguild.com">ryan@thealchemistguild.com</a>> schrieb am Do., 14. Juni 2018, 14:48:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
> On Jun 14, 2018, at 7:26 PM, Sven Barth via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org" target="_blank" rel="noreferrer">fpc-pascal@lists.freepascal.org</a>> wrote:<br>
> <br>
> Because one needs to be able to represent the properties in the RTTI. Without pointers all that is needed to access the property from code is an offset. With pointers you'd need to add where dereferences are required especially as the "path" to the final field could be more complex (e.g. Field1^.Field3.Field1.Field5^.FinalField).<br>
<br>
I guess I don’t understand because I thought an offset to a pointer you dereference is as good as an offset to anything else. The property contains the ^ symbol so it should know to dereference the pointer at the offset right?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">The RTTI for a property contains *only* the offset to the final field inside the record, object or class instance. With a dereference in between this does not work anymore as the field could now be anywhere.</div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote"></div></div></div>