The NameFld function returns the property name as TTypeInfoFieldAccessor.
This allows you to do the following:
MyPropertyName:= MyPropInfo.NameFld.ToString;
if (PropInfoA.NameFld = PropInfoB.NameFld) then begin
writeln('property names are the same');
end;
TTypeInfoFieldAccessor stores the property name in a shortstring inside.
Since the NextGen compiler does not support short strings, the type is used PByte.
(I think the author did not want to clutter the source of ifdefs and pulled out links to PShortstring)
Tail - PByte, .
.
function TTypeInfoFieldAccessor.Tail: PByte;
begin
Result:=
FData //Start of the shortstring
+ FData^ + //Length of the stringData
+ 1; //Add one for the length byte itself
end;
, , char.
.
, RTL , Tail; .
size Tail.