相关疑难解决方法(0)

如何在Delphi 2010中使用RTTI设置任意类型的事件处理程序?

阅读帖子后如何通过新的RTTI设置事件处理程序?,我想知道是否有可能更动态地解决这个问题.例如,我想将任何组件的ALL事件处理程序设置为nil.

使用TValue.From <TNotifyEvent> (SomeMethod)不起作用有两个原因:1.类型未知(可能是TNotifyEvent,TMouseEvent等)2.我不能将'SomeMethod'设置为nil(无效转换)

在旧的RTTI风格中,我会做类似的事情:

var
  NilMethod: TMethod;
begin
[...]
NilMethod.Data := nil;
NilMethod.Code := nil;
SetMethodProp (AComponent,PropertyName,NilMethod);
Run Code Online (Sandbox Code Playgroud)

delphi rtti delphi-2010

2
推荐指数
1
解决办法
1603
查看次数

标签 统计

delphi ×1

delphi-2010 ×1

rtti ×1