Est-il possible que GetPropInfo renvoie zéro même si la classe donnée est déclarée avec les directives {$ METHODINFO} correctes.
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;
Je suis venu à travers cette "fonctionnalité" déjà, aussi. BTW, il n'est pas nécessaire d'allumer le plein {$ METHODINFO ON}, il suffit d'utiliser simplement {$ TYPEINFO ON} ou {$ M +}. –
Il convient de noter que dans Delphi 2009, le compilateur ajoute {M +} à n'importe quelle classe avec une section "published" automatiquement, donc ce problème n'existe plus. –