Xbrowse error en edicion + TAB

Xbrowse error en edicion + TAB

Postby Raymundo Islas M. » Wed Jul 07, 2010 5:59 am

Antonio/Daniel,

Al momento de estar en edicion y si se presiona TAB, marca error.

Code: Select all  Expand view

   Error description: Error BASE/1005  Class: 'NIL' has no property: NLASTKEY
   Args:
     [   1] = U  
     [   2] = N   13

Stack Calls
===========
   Called from:  => _NLASTKEY(0)
   Called from: .\source\classes\XBROWSE.PRG => EDITGETKEYDOWN(9931)
   Called from: .\source\classes\XBROWSE.PRG => (b)TXBRWCOLUMN:EDIT(9785)
   Called from: SourceCodeExtra\tget.prg => TGET:KEYDOWN(820)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(1483)
   Called from: SourceCodeExtra\tget.prg => TGET:HANDLEEVENT(607)
   Called from: .\source\classes\WINDOW.PRG => _FWH(3391)
   Called from:  => DIALOGBOX(0)
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(273)
   Called from: Source\RSMAIN.prg => MAIN(494)
 


El archivo TGET.PRG que esta enlazado es identico al que viene en Classes, a excepcion de un pequeño ajuste para el color de los gets.


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: Xbrowse error en edicion + TAB

Postby carlos vargas » Wed Jul 07, 2010 4:59 pm

Raymundo
En el metodo Edit de la classe TXBrwColumn
busca este codigo

Code: Select all  Expand view
 
::oEditGet:bKeyDown   := { | nKey | EditGetkeyDown( Self, nKey ) }
 


y reemplazalo por
Code: Select all  Expand view

   ?::classname()  //TXBRWCOLUMN
   ?::oEditGet:Classname()  //TGET
   ? nKey              //10
   ?::oEditGet:nLastKey    //0
   ::oEditGet:bKeyDown   := { | nKey | EditGetkeyDown( Self, nKey ) }
 


esto para efecto de prueba
por que en teoria, la funcion EditGetKeyDown, no esta recibiendo el primer parametro que es el objeto
tbrwcolumn, por ello indica que la classe es NIL.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1691
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Xbrowse error en edicion + TAB

Postby Raymundo Islas M. » Wed Jul 07, 2010 6:08 pm

Carlos,

Me alegra mucho verte otra vez amigo mio, ya tenia rato que no tenia contacto contigo :P

Ya encontre la linea, pero no entiendo muy bien tus instrucciones.

las 4 lineas al principio son trazas verdad ?
Por que la 5a y la linea por sustituir son identicas.

Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: Xbrowse error en edicion + TAB

Postby carlos vargas » Thu Jul 08, 2010 11:54 pm

mas que todo para ver por que salta el error, no es para corregirlo
lo que esta comentado son los valores que deberia mostar.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1691
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Xbrowse error en edicion + TAB

Postby Antonio Linares » Fri Jul 09, 2010 6:02 am

Raymundo,

Prueba con este cambio en la función EditGetKetDown() en xbrowse.prg:

Code: Select all  Expand view

   ...

   If lExit .and. ::nEditType != EDIT_DATE
      if ::oEditGet != nil
         ::oEditGet:nLastKey := nKey
         ::oEditGet:End()
      endif
   else
      if lExit
         ::PostEdit()
      endif
   Endif

return nil
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41406
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Xbrowse error en edicion + TAB

Postby Raymundo Islas M. » Fri Jul 09, 2010 6:17 pm

Antonio y Carlos,

Funciona correctamente ahora ! :P

Antonio, aprovechando el mismo tema, tengo el siguiente codigo :

Code: Select all  Expand view

redefine xbrowse lbCapVta id 101 of oFldrCptSrc:adialogs[1] ;
    columns 9,3,4,5,6,7,8 ;
    headers "NUM. PARTE","UNITARIO","UNS","D %","D $","UNITARIO","IMPORTE" ;
    pictures nil,"99,999.99","9,999.99","99.99","999.99","99,999.99","99,999.99" ;
    colsizes 100,80,50,50,60,80,90 ;
    array { { "","",0,0,0,0,0,0,"",0,0,0,0,"",0,"","","","",0,0,0 } } ;
    font aSysFnts[1]

AdjRStXBrws( lbCapVta, .f., {0,1,1,1,1,1,1} )
lbCapVta:nStretchCol   := 1
lbCapVta:lFastEdit     := .t.
lbCapVta:lKineticBrw   := .f.
lbCapVta:nMarqueeStyle := MARQSTYLE_HIGHLCELL
lbCapVta:bKeyDown      := { |nKey| CapVtsKey( nKey ) }

// Unidades
lbCapVta:aCols[3]:bEditValid := { | oGet, oCol | VldCaptVta( oGet, oCol, 1 ) }
lbCapVta:aCols[3]:nEditType  := EDIT_GET
lbCapVta:aCols[3]:bEditWhen  := { || !empty( lbCapVta:aRow[9] ) }
// Descto %
lbCapVta:aCols[4]:bEditValid := { | oGet, oCol | VldCaptVta( oGet, oCol, 2 ) }
lbCapVta:aCols[4]:nEditType  := EDIT_GET
lbCapVta:aCols[4]:bEditWhen  := { || !empty( lbCapVta:aRow[9] ) .and. ;
    lbCapVta:aRow[22] == 0 .and. lbCapVta:aRow[3] > 0 }
 


Cuando estoy en edicion y presiono la tecla - (minus) me saca de la edicion y me dispara el evento que tengo asignada a esa tecla que es la de eliminar el registro, asi que no puedo escribir algun numero negativo, obviamente podria asignar el evento a la tecla Supr, pero aqui el detalle es, si sera posible "bloquear" mientras se encuentra en edicion la celda cualquier evento asignado a una tecla.


Saludos y gracias por la solucion.
FWH 10.6 + xHarbour + Borland 582
User avatar
Raymundo Islas M.
 
Posts: 592
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 32 guests