Bei Records siehts da etwas düsterer aus, außer der Record besitz ein IInterface, string oder dyn. Array, dann bindet der Compiler zwar die Typeninformation für ihn ein, jedoch befindet sich deren Stuktur nur in der System-
Unit (und da auch nur in implementaion) und nicht in der TypInfo
Unit, weil es nur intern für Strings, Interfaces und dyn. Arrays benötigt wird.
Bei Klassen hingegen hat man für alle published-Eigenschaften/Methoden durch die
Unit TypInfo Zugriff. Alle Klassen, die TPersistent in der Vererbungshierarchie haben, benötigen können einfach abgefragt werden. Bei allen anderen Klassen ist es notwendig den Compiler-Schalter {$M+} bzw. {$TYPEINFO ON} umzulegen um diese Funktionalität zu erhalten.