IsValidObject
(Available in 01 TS COM - TS_COM_DelegateISink)
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_DelegateISink
LOCAL lRetVal AS LOGIC
LOCAL oOwner AS OBJECT
TSTrace Enter
oOwner:=SELF:Owner
DO CASE
CASE oOwner==NULL_OBJECT
TSTrace Warning NB Debug "oOwner==NULL_OBJECT"
lRetVal:=FALSE
CASE IsAccess( oOwner, #IsValidObject )
IF IVarGet( oOwner, #IsValidObject )
IF SELF:_ISink==NULL_OBJECT
IF LOGIC( _CAST, SELF:_AlloweInInit )
lRetVal:=TRUE
ELSE
TSTrace Warning NB Debug "SELF:_ISink==NULL_OBJECT"
lRetVal:=FALSE
END
ELSE
IF SELF:_ISink:IsValidObject
lRetVal:=