投稿を読んだ後新しいRTTIを介してイベントハンドラーを設定する方法は?、これをもっと動的に解決できるのではないかと思います。たとえば、任意のコンポーネントのすべてのイベントハンドラーをnilに設定したいとします。
次の2つの理由により、使用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);