EventHandlerDel

 (Available in 01 TS COM - TS_COM_DelegateIUnknown)

Purpose

Remove a installed event handler.

Syntax

? oDIUnknown:EventHandlerDel( oDelegateISink )

Arguments

oDelegateISink
OBJECT(TS_DelegateISink)

Description

Remove a installed event handler. Event handlers are installed by using the 'EventHandlerAdd' method. Event handlers are normaly instances of the 'TS_DelegateISink' class.

Returns

LOGIC, TRUE is success

Example

See:EventHandlerDel

Source

METHOD EventHandlerDel( oDelegateISink AS TS_DelegateISink ) AS LOGIC PASCAL CLASS  ; ...
...TS_DelegateIUnknown
LOCAL lRetVal AS LOGIC
LOCAL X AS DWORD
   TSTrace Enter
   IF oDelegateISink<>NULL_OBJECT
      IF SELF:_DelegateISinks<>NULL_ARRAY
         X:=AScan( SELF:_DelegateISinks, oDelegateISink )
         IF LOGIC( _CAST, X )
            ADel( SELF:_DelegateISinks, X )
            ASize( SELF:_DelegateISinks, ALen( SELF:_DelegateISinks  ; ...
           ... )-1 )
            oDelegateISink:UnRegisterAxit( )
            oDelegateISink:Destroy( )
            lRetVal:=TRUE
         ELSE
            TSTrace Warning "AScan(SELF:_DelegateISinks,oEventHandler)==0"
            lRetVal:=FALSE
         END
      ELSE
         TSTrace Warning "SELF:_DelegateISinks==NULL_ARRAY"
         lRetVal:=FALSE
      END
   END
   TSTrace Leave
RETURN lRetVal