FREEREF
(Available in 01 TS COM - TS_COM_ServerInfoGuard)
Source
METHOD FREEREF( ) AS TS_ServerInfo PASCAL CLASS TS_ServerInfoGuard
LOCAL oCOMGlobalData AS _TS_COMGlobalData
LOCAL oServerInfo AS TS_ServerInfo
TSTrace Enter
oCOMGlobalData:=_TS_ModuleGetCOMGlobalData( )
#IFDEF TS_COMGLOBALDATA_CRITICALSECTION
EnterCriticalSection( oCOMGlobalData:_COMGGeneralPurposeSection )
#ENDIF
oServerInfo:=oCOMGlobalData:_ServerInfoServerInfoObject
InterlockedDecrement( oCOMGlobalData:_ServerInfoUseCounter )
IF LONGINT( oCOMGlobalData:_ServerInfoUseCounter )<0L
TSTrace Warning "LONGINT(oCOMGlobalData:_ServerInfoUseCounter)<0L"
END
IF !LOGIC( _CAST, LONGINT( oCOMGlobalData:_ServerInfoUseCounter ) ) ; ...
... .AND. !LOGIC( _CAST, LONGINT( oCOMGlobalData:_ServerInfoInMessageLoop ; ...
... ) )
oCOMGlobalData:_ServerInfoServerInfoObject:=NULL_OBJECT
IF oServerInfo<>NULL_OBJECT
oServerInfo:UnRegisterAxit( )
oServerInfo:Destroy( )
oServerInfo:=NULL_OBJECT
END
oCOMGlobalData:_ServerInfoCoInitSet:=FALSE
oCOMGlobalData: