UnRegisterAxit
(Available in 00 TS Tools(Base) - TS_Tools_Root0)
Purpose
Tell the GC to not call the 'Axit' method
Syntax
SELF:UnRegisterAxit( )
Description
Let the GC know that the 'Destroy()/Axit()' method of the object was being called and no calls from the GC are needed.
Note: Calling 'SUPER:Destroy()' should be the last thing that the application code does in it's 'Destroy()' method.
Note: When the 'SUPER:Destroy()' method returns the 'SELF:IsInDestroy' status wil be false, and the SELF:IsDestroyed' status wil be true.
Example
METHOD Destroy( ) CLASS SomeClass
// Let it be known that we are destroying the object
SELF:IsInDestroy:=TRUE
// Do the destructive work
...
// All work should be done before calling SUPER
SUPER:Destroy( )
RETURN NIL
Source
METHOD UnRegisterAxit( ) AS TS_Root0 PASCAL CLASS TS_Root0
TSTrace Enter
IF LOGIC( _CAST, _AND( SELF:_ObjectStat1, TS_OBJSTAT1_AXITREGISTERED ; ...
... ) )
SELF:_ObjectStat1:=_AND( SELF:_ObjectStat1 ; ...
... , _NOT( TS_OBJSTAT1_AXITREGISTERED ) )
IF !InCollect( )
IF IsDynPtr( PTR( _CAST, SELF ) )
UnRegisterAxit( SELF )
END
END
END