IsInited
(Available in 01 TS COM - TS_COM_IUnknown)
Purpose
Test if the init method has been executed.
Syntax
IF SELF:IsInited
Description
Test if the object has been inited. While the object is being inited ( while the 'Init()' method is being executed ) this access returns FALSE.
Example
METHOD INIT( ..., ... ; ...
...) CLASS SomeICLass
// Most secure ( and complex ) form of an 'safe' init method
// See also the 'Init()' method documentation
DO CASE
CASE SELF:IsInited
TSTrace Warning "Can not re-init"
CASE SELF:IsInInit
SELF:CountInInit( TRUE )
// From here on insert you own initialization code
// It is better not to call any object method/access/assign
// Process the parameters
..., ...
IF lParameterError
TSTrace Warning "... parameter error ..."
SELF:InvalidateObject( )
END
// At this point all initialization code should be done
SELF:CountInInit( FALSE )
IF SELF:IsValidObject
SUPER:INIT( ... ; ...
... , ... )
IF SELF:NeedNew
SELF:NeedNew:=FALSE
// Put your 'PostInit()' code in the 'New()' method
SELF:NEW