FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Error BASE/1003 Variable does not exist:THIS
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Error BASE/1003 Variable does not exist:THIS
Posted: Fri Aug 19, 2011 10:34 PM
Como control este error.

Saludos al Forun

Codigo

Code (fw): Select all Collapse
  Asi_xbrx(ktopc, @::acBitmap ,@::acToolTip,@::aGroup,@::abPrompt ,@::aActivate  )
       nLen      := Len( ::acBitmap )
      ::aBmp     := Array( nLen )
      ::oWdlcx   := oWdlcx
      ::oGrid    := oGrid
      ::cPos     := cPos
  
     if ktopc="1"
        ::abAction  :=  { { ||This:ShowPopUp() } , { ||This:ShowPopUp() } , { || (lExit := .T.,::oWdlcx:End())  }} 

     elseif ktopc="2"
        ::abAction  :=  { { || (lExit := .T.,::oWdlcx:End())  }} 
     elseif ktopc="3"
        ::abAction  := {{||This:ShowPopUp() },{ ||This:ShowPopUp() },{ || (::oGrid:oTree:Expand(),;
                            ::oGrid:Refresh(),::oGrid:SetFocus())},;
                    {||( ::oGrid:oTree:Collapse(), ::oGrid:Refresh(), ::oGrid:SetFocus() )  },;
                            { || (lExit := .T.,oDlgBrow:End() )  } } 
     elseif ktopc="4"
       ::abAction  :=  { { || (::oGrid:oTree:Expand(), ::oGrid:Refresh(),::oGrid:SetFocus() )} ,;
                         { || (::oGrid:oTree:Collapse(), ::oGrid:Refresh(), ::oGrid:SetFocus() )} ,;
                         { || (lExit := .T.,::oWdlcx:End() )}} 
     elseif ktopc="5"
        ::abAction  :=  { { ||This:ShowPopUp() } , { || (lExit := .T.,::oWdlcx:End()) } } 
    endif

      /* Creamos el Cursor */
      DEFINE CURSOR ::oCursor HAND

      /* Creamos la barra en funcion del estilo */
      DEFINE BUTTONBAR ::oBar _3D SIZE 28, 28  OF ::oWdlcx  //28, 28  60,60

      /* Comrpobamos si tenemos que crear la barra en 3D */
      If( !l3D, ::oBar:l3D := .F., ::oBar:l3D := .T. )

      /* Comrpobamos si tenemos que crear la barra Offices 2007 */
//      If( !l2007, ::l2007 := .F., ::l2007 := .T. )
//        if(memvar->x_ms2007=0, ::l2007 := .F., ::l2007 := .T. )
        Def_stylo(::oBar,0)
        IF x_brodesv=1;barbwodegra(::oBar,1);endif

      DO CASE

         /* Situa la barra en la parte superior del xBrowse */
         CASE Upper( cPos ) == "TOP"

              ::oBar:nWidth := ::oGrid:nWidth
              ::oBar:nLeft  := ::oGrid:nLeft
              ::oBar:nTop   := ::oGrid:nTop  - ::oBar:nHeight

         /* Situa la barra en la parte inferior del xBrowse */
         CASE Upper( cPos ) == "BOTTOM"

              ::oBar:nWidth := ::oGrid:nWidth
              ::oBar:nLeft  := ::oGrid:nLeft
              ::oBar:nTop   := ::oGrid:nTop  + ::oGrid:nHeight - 1

         /* Situa la barra en la parte izquierda del xBrowse */
         CASE Upper( cPos ) == "LEFT"

              nMHeight := ::oBar:nHeight
              ::oBar:GoLeft()
              ::oBar:nTop    := ::oGrid:nTop
              ::oBar:nLeft   := ( ::oGrid:nLeft  - nMHeight ) - 3
              ::oBar:nHeight := ::oGrid:nHeight

         /* Situa la barra en la parte derecha del xBrowse */
         CASE Upper( cPos ) == "RIGHT"

              nMHeight := ::oBar:nHeight
              ::oBar:GoLeft()
              ::oBar:nTop    := ::oGrid:nTop
              ::oBar:nLeft   := ::oGrid:nLeft + ::oGrid:nWidth + 3
              ::oBar:nHeight := ::oGrid:nHeight
      ENDCASE

      /* Creamos tanto botones en la barra como acciones tenemos que hacer */
      FOR nFor := 1 TO nLen
        if ktopc="4"
            DEFINE BUTTON ::aBmp[nFor] RESOURCE ::acBitmap[nFor],::acBitmap[nFor]; // PROMPT ::abPrompt[ nFor ] ;
                   GROUP;
                   NOBORDER OF ::oBar;
                   TOOLTIP ::acToolTip[nFor]
                   ::aBMP[nFor]:bAction := ::abAction[ nFor ]
                   ::aBMP[nFor]:lGroup  := ::aGroup[ nFor ]

        elseif ktopc="2"
            DEFINE BUTTON ::aBmp[nFor] RESOURCE ::acBitmap[nFor],::acBitmap[nFor]; // PROMPT ::abPrompt[ nFor ] ;
                   GROUP;
                   NOBORDER OF ::oBar;
                   TOOLTIP ::acToolTip[nFor]
                   ::aBMP[nFor]:bAction := ::abAction[ nFor ]
                   ::aBMP[nFor]:lGroup  := ::aGroup[ nFor ]
        elseif ktopc="5"
          If nFor = 1
            DEFINE BUTTON ::aBmp[nFor] RESOURCE ::acBitmap[nFor],::acBitmap[nFor];  //  PROMPT ::abPrompt[ nFor ] ;
                   MENU ExcelMenu( ::oGrid ) ;
                   GROUP;
                   NOBORDER OF ::oBar;
                   TOOLTIP ::acToolTip[nFor]
                   ::aBMP[nFor]:bAction := ::abAction[ nFor ]
                   ::aBMP[nFor]:lGroup  := ::aGroup[ nFor ]
          else
            DEFINE BUTTON ::aBmp[nFor] RESOURCE ::acBitmap[nFor],::acBitmap[nFor]; // PROMPT ::abPrompt[ nFor ] ;
                   GROUP;
                   NOBORDER OF ::oBar;
                   TOOLTIP ::acToolTip[nFor]
                   ::aBMP[nFor]:bAction := ::abAction[ nFor ]
                   ::aBMP[nFor]:lGroup  := ::aGroup[ nFor ]
           endif
        else 
          If nFor = 1
            DEFINE BUTTON ::aBmp[nFor] RESOURCE ::acBitmap[nFor],::acBitmap[nFor];  // PROMPT ::abPrompt[ nFor ] ;
                   MENU ReportMenu( ::oGrid ) ;
                   GROUP;
                   NOBORDER OF ::oBar;
                   TOOLTIP ::acToolTip[nFor]
                   ::aBMP[nFor]:bAction := ::abAction[ nFor ]
                   ::aBMP[nFor]:lGroup  := ::aGroup[ nFor ]
          elseIf nFor = 2
            DEFINE BUTTON ::aBmp[nFor] RESOURCE ::acBitmap[nFor],::acBitmap[nFor];  //  PROMPT ::abPrompt[ nFor ] ;
                   MENU ExcelMenu( ::oGrid ) ;
                   GROUP;
                   NOBORDER OF ::oBar;
                   TOOLTIP ::acToolTip[nFor]
                   ::aBMP[nFor]:bAction := ::abAction[ nFor ]
                   ::aBMP[nFor]:lGroup  := ::aGroup[ nFor ]
          else 
            DEFINE BUTTON ::aBmp[nFor] RESOURCE ::acBitmap[nFor],::acBitmap[nFor]; //  PROMPT ::abPrompt[ nFor ] ;
                   GROUP;
                   NOBORDER OF ::oBar;
                   TOOLTIP ::acToolTip[nFor]
                   ::aBMP[nFor]:bAction := ::abAction[ nFor ]
                   ::aBMP[nFor]:lGroup  := ::aGroup[ nFor ]
          Endif
        Endif

          SysRefresh()

      NEXT


Error:
Code (fw): Select all Collapse
Application
===========
   Path and name: K:\proy_harb\plastwin.Exe (32 bits)
   Size: 1,669,120 bytes
   Time from start: 0 hours 1 mins 28 secs 
   Error occurred at: 08/19/2011, 15:31:31
   Error description: Error BASE/1003  Variable does not exist: THIS

Stack Calls
===========
   Called from: K:\PROY_H~1\PRG\tclanave.prg => (b)TBARBRW:NEW(167)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK(466)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP(660)
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1531)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT(1458)
   Called from: .\source\classes\WINDOW.PRG => _FWH(3418)
   Called from:  => DIALOGBOX(0)
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(275)
   Called from: K:\PROY_H~1\PRG\claserub_brow.prg => BROP0040A_1:DIALGINI(231)
   Called from: K:\PROY_H~1\PRG\pxprebro_1.prg => BROP0040A_1:NEW(10075)
   Called from: K:\PROY_H~1\PRG\pxplrep1.prg => PROG_REP_1(486)
   Called from: K:\PROY_H~1\PRG\tclanave.prg => TBREPDLG:MYCLICK(2490)
   Called from: K:\PROY_H~1\PRG\tclanave.prg => (b)TBREPDLG:TREE_MENU(1876)
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:LDBLCLICK(1891)
   Called from: .\source\classes\CONTROL.PRG => TTREEVIEW:LDBLCLICK(1556)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1541)
   Called from: .\source\classes\TTREEVIE.PRG => TTREEVIEW:HANDLEEVENT(287)
   Called from: .\source\classes\WINDOW.PRG => _FWH(3418)
   Called from:  => DIALOGBOXINDIRECT(0)
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(275)
   Called from: K:\PROY_H~1\PRG\pxpmenbar.prg => MENU01_1:EXPBAR_1(952)
   Called from: K:\PROY_H~1\PRG\pxpmenbar.prg => (b)MENU01_1:DIALBAR00(269)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK(466)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP(663)
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1531)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT(1458)
   Called from: .\source\classes\WINDOW.PRG => _FWH(3418)
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Error BASE/1003 Variable does not exist:THIS
Posted: Fri Aug 19, 2011 11:24 PM
Hola


agrega esta linea al principio de la funcion

Code (fw): Select all Collapse
local This := Self
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: Error BASE/1003 Variable does not exist:THIS
Posted: Wed Aug 24, 2011 12:12 AM

Gracias Daniel , Funciono

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com

Continue the discussion