IsValidObject

 (Available in 00 TS Tools(Base) - TS_Tools_Root0)

Purpose

Test if the object is 'Valid'

Syntax

IF oSomeObject:IsValidObject

Description

This flag returns TRUE if the object has been inited and if the object is not invalidated. E.g. the return value is TRUE if it is safe to use the object.

Example

IF oSomeObject:IsValidObject
// Start using the object
   ... 
ELSE
   TSTrace Warning "!oSomeObject:IsValidObject"
END

Source

ACCESS IsValidObject AS LOGIC PASCAL CLASS TS_Root0
LOCAL lIsValidObject AS LOGIC
   TSTrace Enter
   IF LOGIC( _CAST, SELF:_ObjectStat1 )
      DO CASE
      CASE LOGIC( _CAST, _AND( SELF:_ObjectStat1, TS_OBJSTAT1_INDESTROY  ; ...
     ... ) )
         TSTrace Warning NB Debug "LOGIC(_CAST,_And(SELF:_ObjectStat1,TS_OBJSTAT1_INDESTROY))"
         lIsValidObject:=FALSE
      CASE LOGIC( _CAST, _AND( SELF:_ObjectStat1, TS_OBJSTAT1_DESTROYED  ; ...
     ... ) )
         TSTrace Warning NB Debug "LOGIC(_CAST,_And(SELF:_ObjectStat1,TS_OBJSTAT1_DESTROYED))"
         lIsValidObject:=FALSE
      CASE LOGIC( _CAST, _AND( SELF:_ObjectStat1, TS_OBJSTAT1_INVALID  ; ...
     ... ) )
         TSTrace Warning NB Debug "LOGIC(_CAST,_And(SELF:_ObjectStat1,TS_OBJSTAT1_INVALID))"
         lIsValidObject:=FALSE
      CASE LOGIC( _CAST, SELF:_AlloweInInit )
         lIsValidObject:=TRUE
      CASE LOGIC( _CAST, _AND( SELF:_ObjectStat1, TS_OBJSTAT1_ININIT  ; ...
     ... ) )
         TSTrace Warning NB Debug "LOGIC(_CAST,_And(SELF:_ObjectStat1,TS_OBJSTAT1_ININIT))"
         lIsValidObject:=FALSE
      CASE LOGIC( _CAST, _AND( SELF:_ObjectStat1, TS_OBJSTAT1_COUNTMASK  ; ...
     ... ) )
         TSTrace Warning NB Debug "LOGIC(_CAST,_And(SELF:_ObjectStat1,TS_OBJSTAT1_COUNTMASK))"
         lIsValidObject:=FALSE
      OTHERWISE
         lIsValidObject:=TRUE
      END
   ELSE
      lIsValidObject:=TRUE
   END
   TSTrace Leave
RETURN lIsValidObject