【发布时间】:2009-09-27 00:10:14
【问题描述】:
在使用新的 RTTI 模块时,我找不到使用新实用程序设置事件处理程序的方法。尝试这样的事情:
LProp := TRttiContext.Create.GetType(Form1.ClassInfo).AsInstance.GetProperty('OnClick');
LProp.SetValue(Form1, {a TValue!});
SetValue 需要传递一个 TValue,但我还没有找到一种通过 TValue 表示 TMethod 的方法。有cmets吗?
ps。还有一个附带问题..似乎用“L”作为RTTI变量的前缀是一种约定(而且是一个很好的IMO,元代码很快就变成了一个难题)。但它实际上代表什么?
【问题讨论】:
-
"L" 用于局部变量。您将在整个 Indy 源代码中看到该约定。 stackoverflow.com/questions/1140562/…
标签: delphi delphi-2010 rtti