ActiveComponentsDecrement

 (Available in 01 TS COM - TS_COM_ServerInfo)

Source

METHOD ActiveComponentsDecrement( ) AS LONGINT PASCAL CLASS TS_ServerInfo
LOCAL liCurActiveComponents AS LONGINT
   TSTrace Enter
   IF SELF:IsValidObject
      InterlockedDecrement( SELF:_COMGlobalData:_ServerInfoActiveComponents  ; ...
     ... )
      IF LONGINT( SELF:_COMGlobalData:_ServerInfoActiveComponents  ; ...
     ... )<0L
         TSTrace Warning "LONGINT(SELF:_COMGlobalData:_ServerInfoActiveComponents)<0L"
      END
//    TS_ShowActiveComponents()
      IF LOGIC( _CAST, SELF:_COMGlobalData:_ShowActiveComponents  ; ...
     ... ) 
         TSTrace Shw ExecName( FALSE ), LONGINT( SELF:_COMGlobalData:_ServerInfoActiveComponents  ; ...
        ... )
      END
      liCurActiveComponents:=LONGINT( SELF:_COMGlobalData:_ServerInfoActiveComponents  ; ...
     ... )
      IF SELF:CanUnloadNow( )==S_OK .AND. LOGIC( _CAST, LONGINT ; ...
     ... ( SELF:_COMGlobalData:_ServerInfoInMessageLoop  ; ...
     ... ) )
         IF LOGIC( _CAST, SELF:_COMGlobalData:_ServerInfoCurrentThreadID  ; ...
        ... )
            PostThreadMessage( SELF:_COMGlobalData:_ServerInfoCurrentThreadID ; ...
           ... , WM_QUIT, 0U, 0L )
         ELSE
            PostQuitMessage( 0L )
         END
      END
   ELSE
      TSTrace Warning "!SELF:IsValidObject"
      liCurActiveComponents:=0L
   END
   TSTrace Leave
RETURN liCurActiveComponents