1

tkEnumeration を RTTI パラメータとして Method.Invoke に渡すにはどうすればよいですか。

私が試してみました

TMyEnums  =  (tsEnum1, tsEnum2);


ParameterList : Array of TValue;

lTypeInfo : PTypeInfo;


lTypeInfo := TypeInfo(TMyEnums);

ParameterList[0] := TValue.FromOrdinal(lTypeInfo, Integer(tsEnum1)); 

Method.Invoke(Object, ParameterList);

これは失敗します。Method.Invoke は tkEnumeration パラメータを取ることができますか? たとえそれが機能したとしても、実行時のアプリケーションではパラメータの型がわからないため、lTypeInfo を取得できません。

TRttiParameter から lTypeInfo を取得する方法はありますか?

次のように TRttiProperty で取得できます。

lTypeInfo := RTTIProperties[i].GetValue(SourceObject).TypeInfo

TRttiParameter に相当するものはありますか?

4

1 に答える 1