Hay alguna posibilidad de que GetPropInfo devuelva nil incluso si la clase dada se declara con las directivas {$ METHODINFO} correctas.
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;
me he encontrado con esta "característica" ya, también. Por cierto, no es necesario encender el {$ METHODINFO ON} completo, basta con usar {$ TYPEINFO ON} o {$ M +}. –
Cabe señalar que en Delphi 2009, el compilador agrega {M +} a cualquier clase con una sección "publicada" automáticamente, por lo que este problema ya no existe. –