Show

 (Available in 00 TS Base(GUI) - TS_Base_6_DialogFromResource)

Source

METHOD Show( ) AS DWORD PASCAL CLASS TS_DialogFromResource
LOCAL oGlobalData AS _TS_GlobalData
LOCAL dwChoice AS DWORD
LOCAL uError AS USUAL
LOCAL oSelf AS TS_DialogFromResource
LOCAL X AS DWORD
   #IFDEF TS_TRACETIMED_ENABLE
      _TS_TraceTimedEnter( SysAddAtom( PSZ( _CAST, __APPLICATION__ ) ), SysAddAtom ; ...
     ... ( PSZ( _CAST, __MODULE__ ) ), SysAddAtom( PSZ( _CAST, __ENTITY__ ) ) )
   #ENDIF
   oGlobalData:=_TS_GlobalDataGet( )
   oSelf:=SELF
   X:=AScan( oGlobalData:_DialogFromResourceStack, { | _a | _a[ 2U ]==oSelf  ; ...
  ... } )
   IF LOGIC( _CAST, X )
      IF X<>ALen( oGlobalData:_DialogFromResourceStack )
         AAdd( oGlobalData:_DialogFromResourceStack, oGlobalData:_DialogFromResourceStack ; ...
        ... [ X ] )
         ADel( oGlobalData:_DialogFromResourceStack, X )
         ASize( oGlobalData:_DialogFromResourceStack, ALen( oGlobalData:_DialogFromResourceStack  ; ...
        ... )-1U )
      END
      _TS_ErrorSysHandlerSetCurrent( _BP, { | _u | TS_ErrorSysHandler2( _u, EC_BREAK  ; ...
     ... ) }, TRUE )
      BEGIN SEQUENCE
         IF SELF:_Modal
            DialogBox( _GetInst( ), Cast2Psz( SELF:_DialogResource  ; ...
           ... ), NULL_PTR, @_TS_DialogFromResourceWinProc( ) )
         ELSE
            SELF:OnError( TRUE, __APPLICATION__, __MODULE__,  ; ...
           ... __ENTITY__, __LINE__, "Modeless dialog box, Not(yet) supported!" )
//          SELF:_Handle:=CreateDialog(_GetInst()        ;
//          ,Cast2Psz(SELF:_DialogResource)  ;
//          ,NULL_PTR         ;
//          ,@_TS_DialogFromResourceWinProc())
//          TSTrace ToDo "Needs a message loop"
         END
         _TS_ErrorSysHandlerGetCurrent( _BP, TRUE )
         _TS_TraceProcAdjustAfterBreak( _BP )
      RECOVER USING uError
         _TS_ErrorSysHandlerGetCurrent( _BP, TRUE )
         _TS_TraceProcAdjustAfterBreak( _BP )
         SELF:OnError( TRUE, __APPLICATION__, __MODULE__, __ENTITY__ ; ...
        ... , __LINE__, AsString( uError ) )
      END SEQUENCE
   ELSE
      SELF:OnError( TRUE, __APPLICATION__, __MODULE__, __ENTITY__ ; ...
     ... , __LINE__, "AScan(oGlobalData:_DialogFromResourceStack,{|_a|_a[2U]==oSelf})==0"  ; ...
     ... )
   END
   dwChoice:=SELF:Choice
   #IFDEF TS_TRACETIMED_ENABLE
      _TS_TraceTimedLeave( SysAddAtom( PSZ( _CAST, __APPLICATION__ ) ), SysAddAtom ; ...
     ... ( PSZ( _CAST, __MODULE__ ) ), SysAddAtom( PSZ( _CAST, __ENTITY__ ) ) )
   #ENDIF
RETURN dwChoice