如何通过新的RTTI设置事件处理程序? [D2010]
-
18-09-2019 - |
题
新RTTI模块打球,我无法找到一种方法来设置一个事件处理程序与新的实用程序。试图像这样:
LProp := TRttiContext.Create.GetType(Form1.ClassInfo).AsInstance.GetProperty('OnClick');
LProp.SetValue(Form1, {a TValue!});
的SetValue需要通过一个TValue,但我还没有找到一种方法,通过TValue来表示TMethod。任何意见?
PS。和侧面的问题..这似乎与“L”前缀RTTI变量是一个约定(和良好的一个海事组织,元代码变成真正的快速拼图)。但到底是什么,它实际上代表什么?
解决方案
可以使TValue含有aribtrary类型的与所述一个值从方法。尝试是这样的:
lValue := TValue.From<TNotifyEvent>(eventHandler);
顺便说一句,我认为将L只是指的→强> OCAL变量。
不隶属于 StackOverflow