Delphi RTTI SetValue para enumeraciones
¿Cómo uso RTTI para establecer el valor de un campo enumerado?
Es decir
type
TCPIFileStatus= (fsUnknown, fsProcessed);
TTest = class
FStatus: TCPIFileStatus;
end;
...
var
Data: TTest;
Ctx: TRttiContext;
Status : TCPIFileStatus;
begin
Data := TTest.Create;
Status := fsProcessed;
Ctx.GetType(Data.ClassType).GetField('FStatus').SetValue(Data, Status);
end;
Obtengo "Tipografía de clase no válida".
NB: necesito usar RTTI porque no siempre sabré el tipo de objeto o el nombre del campo en tiempo de diseño.