Registering a method/notify object

Hello, that's a TOnFilterApply event, not TNotifyEvent. Thus you must register the event type in scripter. You must use DefineEventAdapter. Below is an example of registering the TCloseQueryEvent, and here are links for other forum topics where users asked similar question:


http://www.tmssoftware.com/site/forum/forum_posts.asp?TID=5997&PID=22775&title=trzstringgrid-ondrawcell-event-adapter-notdefined#22775


https://www.tmssoftware.com/site/forum/forum_posts.asp?TID=5625&title=event-adapter-not-defined-for-ondrawcolumncell



  TatFormsDispatcher = class(TatEventDispatcher)
  private
    procedure __TCloseQueryEvent( Sender: TObject; var CanClose: Boolean);




procedure TatFormsDispatcher.__TCloseQueryEvent( Sender: TObject; var CanClose: Boolean);
var
  CanCloseTemp: variant;
begin
  if DoOnExecuteEvent then
  begin
    CanCloseTemp := CanClose;
    if Assigned(Scripter) and (RoutineName > '') then
      Scripter.ExecuteSubroutine(RoutineName, [Sender,CanCloseTemp]);
    CanClose := CanCloseTemp;
  end;
end;


  DefineEventAdapter(TypeInfo(TCloseQueryEvent), TatFormsDispatcher, @TatFormsDispatcher.__TCloseQueryEvent);