Gibt es eine Möglichkeit, dass GetPropInfo Nil zurückgibt, selbst wenn die angegebene Klasse mit korrekten Direktiven {$ METHODINFO} deklariert wird.
type
...
...
{$METHODINFO ON}
TMyClass = class
private
fField: integer;
published
property Field: integer read fField write fField;
end;
{$METHODINFO OFF}
...
...
procedure TestRTTI;
begin
assert(assigned(GetPropInfo(TMyClass, 'Field')), 'WTF! No RTTI found!');
end;
ich auf dieses "Feature" gekommen sind, schon auch. BTW, es ist nicht notwendig, das volle {$ METHODINFO ON} einzuschalten, es genügt, {$ TYPINFO ON} oder {$ M +} zu verwenden. –
Es sollte beachtet werden, dass der Compiler in Delphi 2009 automatisch {M +} zu jeder Klasse mit einem "published" -Abschnitt hinzufügt, sodass dieses Problem nicht mehr besteht. –