Page 1 of 1

TxBrowse 8.12 nuevo error

Posted: Mon Jan 05, 2009 2:45 pm
by Pedro
Hola a todos

Bueno ya me actualicé y los errores que tenía se fueron, peroooooooooooo, :twisted: no podía faltar el pero, obtengo un nuevo error.
En el diálogo de albaranes tengo tres botones, aceptar, cancelar y salir. El primero acepta los datos, graba la cabecera y las lineas del albarán y prosigue el diálogo, para un nuevo albarán. El segundo cancela todos los datos y vuelve para introducir de nuevo un albarán. El tercero es para salir del diálogo.
Pues bien, si pulso el boton cancelar y despues de poner la pantalla con tan sólo el número de albarán y la fecha,(datos iniciales predefinidos) y a continuación pulso el boton salir, obtengo este error.

Code: Select all

 Error description: Error BASE/1066  Argument error: conditional
   Args:
     [   1] = U   

Stack Calls
===========
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:END(0)
   Called from: C:\PROYEC~1\Gfactu\Source\gesh0200.prg => (b)ALBARANES(219)
   Called from: .\source\classes\BUTTON.PRG => TBUTTONBMP:CLICK(0)
   Called from: .\source\classes\CONTROL.PRG => TBUTTON:HANDLEEVENT(0)
   Called from: .\source\classes\BUTTONB.PRG => TBUTTONBMP:HANDLEEVENT(0)
   Called from: .\source\classes\WINDOW.PRG => _FWH(0)
   Called from:  => SENDMESSAGE(0)
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:COMMAND(0)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:HANDLEEVENT(0)
   Called from:  => DIALOGBOX(0)
   Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(0)
   Called from: C:\PROYEC~1\Gfactu\Source\gesh0200.prg => ALBARANES(224)
   Called from: C:\PROYEC~1\Gfactu\Source\geshinic.prg => (b)MAIN(86)
   Called from: .\source\classes\MENU.PRG => TMENU:ACTIVATE(0)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:SHOWPOPUP(0)
   Called from: C:\PROYEC~1\Gfactu\Source\geshinic.prg => (b)MAIN(96)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK(0)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP(0)
   Called from:  => TWINDOW:HANDLEEVENT(0)
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT(0)
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT(0)
   Called from: .\source\classes\WINDOW.PRG => _FWH(0)
   Called from:  => WINRUN(0)
   Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE(0)
   Called from: C:\PROYEC~1\Gfactu\Source\geshinic.prg => MAIN(179)
La línea 219 que indica el error es esta :
REDEFINE BUTTONBMP ID 223 OF oDlgAlb BITMAP "SALIR1" TEXTRIGHT CANCEL ACTION oDlgAlb:End()
¿Alguna ayudita para esto?

Un saludo a todos
Pedro

Re: TxBrowse 8.12 nuevo error

Posted: Mon Jan 05, 2009 3:13 pm
by Daniel Garcia-Gil
Pedro.
creo que necesitamos ver mas lineas de codigo...
por lo que veo a simple vista el problema no esta en el browse

pon el codigo del boton cancelar...

Re: TxBrowse 8.12 nuevo error

Posted: Mon Jan 05, 2009 5:02 pm
by Pedro
Hola Daniel

Este es el código de los tres botones, el error que comento no me había dado en la versión anterior, ha salido en esta.

Code: Select all

REDEFINE BUTTONBMP ID 221 OF oDlgAlb BITMAP "ACEPTAR" TEXTRIGHT ;
             ACTION NUEVOALB(oBrw,oDlgAlb,lImprimir),;
                             oBrw:GoleftMost(),;
                             oDlgAlb:aControls[2]:SetFocus(),oDlgAlb:UPDATE() 
            
    REDEFINE BUTTONBMP ID 222 OF oDlgAlb BITMAP "CANCELAR" TEXTRIGHT ;
             ACTION CancelALB(oBrw,oDlgAlb),;
                    oBrw:GoLeftMost(),;
                    oDlgAlb:aControls[2]:SetFocus(),oDlgAlb:Update()
                         
    REDEFINE BUTTONBMP ID 223 OF oDlgAlb BITMAP "SALIR1" TEXTRIGHT CANCEL ACTION oDlgAlb:End() 
El código de la función CancelAlb

Code: Select all

*-----------------------------------------------------------------------------
Function CANCELALB(oBrw,oDlgAlb )
*-----------------------------------------------------------------------------
Local nNumero 
Local dFecha  := aCabAlb[2]
 
      CPED->(IniCampo(@aCabAlb))
      CPED->(dbGoBottom())
      nNumero := CPED->numero +1
      aCabAlb[1]:= nNumero
      aCabAlb[2]:= dFecha
      TEMP->(__dbZap()) 
      TEMP->(dbAppend())
      oDlgAlb:Update()
      oBrw:Refresh()
Return nil   
la función Inicampo, es similar al Gatter/Scatter de clipper, o a las funciones Load/Save de Database, simplemente inicializa una matriz con el tipo y longitud de campos de la tabla que se la pasa.
Como veras nada del otro mundo, si necesitas más código te lo mando a tu correo

Un abrazo
Pedro

Re: TxBrowse 8.12 nuevo error

Posted: Mon Jan 05, 2009 5:13 pm
by Daniel Garcia-Gil
tienes alguna forma de hablar en linea, mi messenger es:danielgarciagil@cantv.net si tienes correo de gmail tambien podemos chartear por alli, danielgarciagil@gmail.com

Re: TxBrowse 8.12 nuevo error

Posted: Mon Jan 05, 2009 6:10 pm
by Pedro
Bueno Gracias a Daniel ya está solucionado el problema.

la solución está en controlar la tecla escape en el valid

Code: Select all

ACTIVATE DIALOG oDlgAlb CENTER ;
        ON PAINT (oDlgAlb:aControls[2]:SetFocus(),oDlgAlb:Update());
        VALID (if ( GETKEYSTATE( VK_ESCAPE ), .f., Salir(oBarMain,oMenu,cBandera, oBrw,cTempLin)) )
Y en la función Salir activo el menu y la barra de botones, borro el temporal cTemplin, la bandera y finalizo el Browse oBrw

Gracias Daniel

Un saludo a todos
Pedro