AIThis

 (Available in 01 TS COM - TS_COM_DelegateIDispatch)

Purpose

Get a static 'This' COM interface pointer.

Syntax

oIUnknown:=oDelegateIUnknown:AIThis

Description

Get a static 'This' COM interface pointer. The object ( interface pointer ) returned by this property must be released by using the 'Release()' method of the returend object. Normaly this property is used when a interface pointer must be passed to an interface in the form of a parameter.

Returns

OBJECT(InterfacePointer), Refereing to a static COM interface

Example

oResultAIUnknown:=oInterfaceSafe:AIThis
IF oResultAIUnknown<>NULL_OBJECT
   OBJECT( PTR( _CAST, poAIUnknown ) ):=oResultAIUnknown
   lRetVal:=TRUE
ELSE
   TSTrace Warning "oResultAIUnknown:=oParamDIUnknown:AIThis==NULL_OBJECT"
   OBJECT( PTR( _CAST, poAIUnknown ) ):=NULL_OBJECT
   LONG( phResult ):=E_FAIL
   lRetVal:=FALSE
END

Source

ACCESS AIThis AS TS_AbstractIDispatch PASCAL CLASS TS_DelegateIDispatch
LOCAL oAIDispatch AS TS_AbstractIDispatch
   TSTrace Enter
   IF SELF:FInit
      oAIDispatch:=SELF:_AIDispatch
      IF oAIDispatch<>NULL_OBJECT
         #IFDEF TS_TRACETIMED_ENABLE
            _TS_TraceTimedEnter( TS_TT_SYM_EXTERNAL, TS_TT_SYM_IDISPATCH, #AddRef  ; ...
           ... )
         #ENDIF
         oAIDispatch:AddRef( )
         #IFDEF TS_TRACETIMED_ENABLE
            _TS_TraceTimedLeave( TS_TT_SYM_EXTERNAL, TS_TT_SYM_IDISPATCH, #AddRef  ; ...
           ... )
         #ENDIF
      ELSE
         TSTrace Warning "oAIDispatch==NULL_OBJECT"
      END
   ELSE
      TSTrace Warning "!SELF:FInit"
      oAIDispatch:=NULL_OBJECT
   END
   TSTrace Leave
RETURN oAIDispatch