<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2016-03-02 7:56 GMT+01:00 Sven Barth <span dir="ltr"><<a href="mailto:pascaldragon@googlemail.com" target="_blank">pascaldragon@googlemail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><p>IT table is a subset that only includes managed fields while the RTTI table also contains unmanaged ones. This way the helpers don't need to work through larger records that only contain primitive types.<br>
If that isn't the case then *that* is a bug.</p></blockquote></div>Arghhhh, to much Delphi :\. All confusion is related to my Delphi knowledge. I took it as fact also for FPC.</div><div class="gmail_extra"><br>For Delphi even for XE2 in record case there is no difference between RTTI and INIT table. RTTI table for record does not contains any information about unmanaged fields -,- . Just pure copy of INIT table. (Maybe in Delphi exist only INIT table in that case)</div><div class="gmail_extra"><br></div><div class="gmail_extra">Output for attached example FPC is 2, output for Delphi is 1. In Delphi rich RTTI information about unmanaged fields for records is stored in different place.</div><div class="gmail_extra"><br></div><div class="gmail_extra">=== example ===</div><div class="gmail_extra"><div class="gmail_extra">type</div><div class="gmail_extra">  TR = record</div><div class="gmail_extra">    x: integer;</div><div class="gmail_extra">    s: string;</div><div class="gmail_extra">  end;</div><div class="gmail_extra"><br></div><div class="gmail_extra">begin</div><div class="gmail_extra">  WriteLn(PTypeData(GetTypeData(typeinfo(TR)))^.ManagedFldCount);</div><div class="gmail_extra">  readln;</div><div class="gmail_extra">end.</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Best regards,<br>Maciej Izak</div></div></div>
</div></div>