INIT

 (Available in 01 TS COM - TS_COM_DateTimeFromVariant)

Purpose

Create a 'TS_DateTimeFromVariant' instance

Syntax

oDateTimeFromVariant:=TS_DateTimeFromVariant{ [oOwner][,[dDate|nDate] ] }

Arguments

ouOwner
Optional owner object
undDate
Optional date, NIL, REAL8 or DATE
uloSelfDestruct
NIL, LOGIC, OBJECT

Source

METHOD INIT( uoOwner, undDate, uloSelfDestruct ) CLASS TS_DateTimeFromVariant
LOCAL cAccessTypeList AS STRING
   TSTrace Enter CREATE
   IF LOGIC( _CAST, _AND( SELF:_ObjectStat1, TS_OBJSTAT1_ININIT  ; ...
  ... ) )
      SELF:_ObjectStat1+=TS_OBJSTAT1_COUNTVALUE
      IF SELF:_SystemTime==NULL_PTR
         SELF:_SystemTime:=MemAlloc( _SIZEOF( _WinSYSTEMTIME  ; ...
        ... ) )
         IF SELF:_SystemTime==NULL_PTR
            TSTrace Fatal "SELF:_SystemTime:=MemAlloc(_SizeOf(_WinSYSTEMTIME))==NULL_PTR"
            SELF:InvalidateObject( )
         END
      END
      IF SELF:_SystemTime<>NULL_PTR
         cAccessTypeList:=TS_AccessTypeList( uoOwner, undDate )
         DO CASE
         CASE cAccessTypeList=="UU" .OR. cAccessTypeList=="OU"
            SUPER:INIT( uoOwner, NIL, uloSelfDestruct  ; ...
           ... )
         CASE cAccessTypeList=="UN" .OR. cAccessTypeList=="ON"
            SELF:_AlloweInInit+=1U
            SELF:AsReal8:=REAL8( undDate )
            SELF:_AlloweInInit-=1U
            SUPER:INIT( uoOwner, NIL, uloSelfDestruct  ; ...
           ... )
         CASE cAccessTypeList=="UD" .OR. cAccessTypeList=="OD"
            SELF:_AlloweInInit+=1U
            SELF:DateVal:=DATE( undDate )
            SELF:_AlloweInInit-=1U
            SUPER:INIT( uoOwner, NIL, uloSelfDestruct  ; ...
           ... )
         OTHERWISE
            TSTrace Warning "Invalid parameter(s), Expected 'U|O', 'U|N(REAL8)|D' " ; ...
           ... +"and U|L|O, Found '"+cAccessTypeList+"'"
            SELF:InvalidateObject( )
         END
      END
      SELF:_ObjectStat1-=TS_OBJSTAT1_COUNTVALUE
      IF _AND( SELF:_ObjectStat1, TS_OBJSTAT1_NEWTEST )==TS_OBJSTAT1_NEEDNEW
         SELF:_ObjectStat1:=_AND( SELF:_ObjectStat1 ; ...
        ... , _NOT( TS_OBJSTAT1_NEEDNEW ) )
         IF SELF:IsValidObject
            SELF:NEW( uoOwner, undDate, uloSelfDestruct  ; ...
           ... )
         ELSE
            TSTrace Warning TS_TEXT_GEN_CAN_NOT_INITIALIZE
            SELF:InvalidateObject( )
         END
      END
   ELSE
      TSTrace Warning "!LOGIC(_CAST,_And(SELF:_ObjectStat1,TS_OBJECT_STATUS_ININIT))"
   END
   TSTrace Leave
RETURN SELF