如何使用RTTI設置枚舉字段的值?枚舉的Delphi RTTI SetValue
I.e.
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;
我得到 「無效的類類型轉換。」
注意:我需要使用RTTI,因爲在設計時我不會總是知道對象類型或字段名稱。
謝謝,我看過FromVariant和FromOrdinal,錯過了From方法。 – 2011-03-25 03:29:28