IIDDel
(Available in 01 TS COM - TS_COM_IUnknown)
Purpose
Remove a GUID from the list of supported interfaces
Syntax
oSomeIObject:IIDDel( TS_GUID_IDispatch( ) )
Arguments
Description
When the object is queried for an interfece ( Using 'QueryInterface()' ) the object checks the list of supported interfaces, if one of the supported interface matches the requested interface, then the 'QueryInterface()' method will return 'SELF'.
Returns
lRetVal = LOGIC ( TRUE is succeeded )
Example
IF !oSomeIObject:IIDDel( TS_GUID_IDispatch( ) )
TSTrace Warning "!oSomeIObject:IIDDel(TS_GUID_IDispatch())"
END
Source
METHOD IIDDel( upstruIID ) CLASS TS_IUnknown
LOCAL oCOMGlobalData AS _TS_COMGlobalData
LOCAL pstruIID AS _WinGUID
LOCAL lRetVal AS LOGIC
LOCAL oIIDs AS TS_PointerSafe
TSTrace Enter
oCOMGlobalData:=_TS_ModuleGetCOMGlobalData( )
#IFDEF TS_COMGLOBALDATA_CRITICALSECTION
EnterCriticalSection( oCOMGlobalData:_COMGGeneralPurposeSection )
#ENDIF
pstruIID:=TS_UsualValPTR( upstruIID )
oIIDs:=SELF:_IIDs
IF oIIDs<>NULL_OBJECT
IF oIIDs:ItemLocate( pstruIID )
lRetVal:=oIIDs:ItemDel( oIIDs:ItemIndex )
ELSE
TSTrace Warning "!oIIDs:ItemLocate(pstruIID)"
lRetVal:=FALSE
END
oIIDs:=NULL_OBJECT
ELSE
TSTrace Warning "oIIDs==NULL_OBJECT"
lRetVal:=FALSE
END