4

新しい RTTI モジュールをいじってみたところ、新しいユーティリティでイベント ハンドラを設定する方法が見つかりませんでした。このようなことを試してみてください:

LProp := TRttiContext.Create.GetType(Form1.ClassInfo).AsInstance.GetProperty('OnClick');
LProp.SetValue(Form1, {a TValue!}); 

SetValue には TValue を渡す必要がありますが、TValue を介して TMethod を表す方法をまだ見つけていません。コメントはありますか?

ps。副次的な質問.. RTTI 変数の前に「L」を付けるのは慣例のようです (IMO の良い例で、メタコードはすぐにパズルに変わります)。しかし、それは実際には何を表していますか?

4

1 に答える 1

4

From メソッドを使用して、TValue に任意の型の値を含めることができます。次のようなことを試してください:

lValue := TValue.From<TNotifyEvent>(eventHandler);

ところで、 Lはローカル変数を意味していると思います。

于 2009-09-27T00:47:20.390 に答える