IsValidObject
(Available in 01 TS COM - TS_COM_IUnknown)
Purpose
Test if the object is 'Valid'
Syntax
IF oSomeIObject: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 oSomeIObject:IsValidObject
// Start using the object
...
ELSE
TSTrace Warning "!oSomeIObject:IsValidObject"
END
Source
ACCESS IsValidObject CLASS TS_IUnknown
LOCAL lIsValidObject AS LOGIC
TSTrace Enter
DO CASE
CASE IsDynPtr( PTR( _CAST, SELF ) )
TSTrace Warning NB Debug "IsDynPtr(PTR(_CAST,SELF))"
lIsValidObject:=FALSE
CASE 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 ; ...