Get

 (Available in 01 TS COM - TS_COM_StaticObjectsRepo)

Source

METHOD Get( hSORID AS PTR ) AS OBJECT PASCAL CLASS TS_StaticObjectsRepo
LOCAL pSORData AS _TS_SORData
LOCAL pbSORID AS BYTE PTR
LOCAL oObject AS OBJECT
LOCAL dwSORID AS DWORD
LOCAL pItem AS PTR
LOCAL X AS DWORD
   TSTrace Enter
   dwSORID:=DWORD( _CAST, hSORID )
   IF LOGIC( _CAST, SELF:_SORData )
      _TS_DynLock( PSZ( _CAST, __ENTITY__ ) )
      pItem:=NULL_PTR
      pbSORID:=@dwSORID
      pSORData:=SELF:_SORData
      IF LOGIC( _CAST, pSORData )
         X:=pbSORID[ 1U ]
         IF X>=1U .AND. X<=pSORData.Allocated
            pSORData:=pSORData.Items[ X ]
            IF LOGIC( _CAST, pSORData )
               X:=pbSORID[ 2U ]
               IF X>=1U .AND. X<=pSORData.Allocated
                  pSORData:=pSORData.Items[ X ]
                  IF LOGIC( _CAST, pSORData )
                     X:=pbSORID[ 3U ]
                     IF X>=1U .AND. X<=pSORData.Allocated
                        pSORData:=pSORData.Items[ X ]
                        IF LOGIC( _CAST, pSORData )
                           X:=pbSORID[ 4U ]
                           pItem:=pSORData.Items[ X ]
                        END
                     END
                  END
               END
            END
         END
      END
      IF LOGIC( _CAST, pItem )
         oObject:=OBJECT( _CAST, pItem )
      ELSE
         TSTrace Error "!LOGIC(_CAST,pItem)"
         oObject:=NULL_OBJECT
      END
      _TS_DynUnLock( PSZ( _CAST, __ENTITY__ ) )
   ELSE
      TSTrace Error "!LOGIC(_CAST,SELF:_SORData)"
      oObject:=NULL_OBJECT
   END
   TSTrace Leave
RETURN oObject