SelfDestructDisabledIfOwneds
(Available in 00 TS Tools(Base) - TS_Tools_Root2)
Purpose
Set if the object 'SelfDestruct' is disabled when objects are owned
Syntax
oSomeObject:SelfDestructDisabledIfOwneds:=TRUE
Arguments
Description
If TRUE and the object has a owner, then the object will selfdestruct at the moment that the owner unregisters itself. If this setting is TRUE then the 'SelfDestruct' will be delayed until the last owned is unregisterd.
This behavior is only supported if the owner is derived from 'TS_Root0'
Note: Be carefull when changing this property, most of the time the classes operate best when this property is set to FALSE ( It's dafault value ).
Source
ASSIGN SelfDestructDisabledIfOwneds( lSelfDestructDisabledIfOwneds 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 lSelfDestructDisabledIfOwneds
SELF:_ObjectStat2:=_OR( SELF:_ObjectStat2 ; ...
... , TS_OBJSTAT2_NOSELFDESTRUCTIFOWNEDS )
OTHERWISE
SELF:_ObjectStat2:=_AND( SELF:_ObjectStat2 ; ...
... , _NOT( TS_OBJSTAT2_NOSELFDESTRUCTIFOWNEDS ) )
END
TSTrace Leave
RETURN _AND( SELF:_ObjectStat2, TS_OBJSTAT2_NOSELFDESTRUCTIFOWNEDS ; ...
...)==TS_OBJSTAT2_NOSELFDESTRUCTIFOWNEDS