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