SelfDestructOnUnRegisterOwner
(Available in 00 TS Tools(Base) - TS_Tools_Root2)
Purpose
Set if the object 'SelfDestruct's whith its owner flag
Syntax
oSomeObject:SelfDestructOnUnRegisterOwner:=TRUE
Arguments
lSelfDestruct
|
LOGIC ( Default TRUE )
|
Description
If TRUE and the object has a owner, then the object will selfdestruct at the moment that the owner unregisters itself. This behavior can be modified if 'SelfDestructDisabledIfOwneds' is set TRUE. When this flag is set TRUE then no selfdestruct will take place until the last owned has been unregistered.
This behavior is only supported if the owner is derived from 'TS_Root0'
Source
ASSIGN SelfDestructOnUnRegisterOwner( lSelfDestructOnUnRegisterOwner AS LOGIC ) AS ; ...
...LOGIC PASCAL CLASS TS_Root2
TSTrace Enter
DO CASE
CASE LOGIC( _CAST, _AND( SELF:_ObjectStat2, TS_OBJSTAT2_SELFDESTRUCT_FREEZE ; ...
... ) )
TSTrace Warning "LOGIC(_CAST,_And(SELF:_ObjectStat2,TS_OBJSTAT2_SELFDESTRUCT_FREEZE))"
CASE lSelfDestructOnUnRegisterOwner
SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
... , TS_OBJSTAT2_SELFDESTRUCT_ASSIGN )
SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
... , TS_OBJSTAT2_SELFDESTRUCT )
OTHERWISE
SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
... , TS_OBJSTAT2_SELFDESTRUCT_ASSIGN )
SELF:_ObjectStat2:=_AND( SELF:_ObjectStat2 ; ...
... , _NOT( TS_OBJSTAT2_SELFDESTRUCT ) )
END
TSTrace Leave
RETURN _AND(