Error en Xbrowse

Error en Xbrowse

Postby TOTOVIOTTI » Mon Nov 17, 2014 8:07 pm

Amigos,
me está dando el siguiente error en algunos browses después que cambié a la versión 14.09:

Application
===========
Path and name: D:\Univ@c.SGE\UNIVAC.EXE (32 bits)
Size: 7,717,888 bytes
Compiler version: Harbour 3.2.0dev (r1406271520)
FiveWin Version: FWH 14.09
Windows version: 6.1, Build 7601 Service Pack 1

Time from start: 0 hours 0 mins 18 secs
Error occurred at: 17-11-2014, 17:04:15
Error description: Error BASE/1081 Error de argumento: +
Args:
[ 1] = U
[ 2] = N 2

Stack Calls
===========
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:LASTDISPLAYPOS( 2177 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:PAINT( 1424 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:DISPLAY( 1367 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1699 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:HANDLEEVENT( 12584 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3341 )
Called from: => DIALOGBOX( 0 )


Que puedo estar haciendo mal o debo corregir?
Gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 420
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Error en Xbrowse

Postby joseluisysturiz » Tue Nov 18, 2014 2:10 am

Le estas sumando a un campo numerico, un objeto, si estas usando TDolphin, lo mas seguro es que tu campo aunque es de tipo numerico, esta predeterminado como NIL, si es eso, avisa para darte como lo solucione, si no usas TDolphin, entonces fijate que tu campos o var sumados, tengan valor numerico, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Error en Xbrowse

Postby TOTOVIOTTI » Tue Nov 18, 2014 11:18 am

Gracias José Luis,
si uso TDolphin, y es probable que uso campos numéricos en mis xbrowses, el tema
que antes no daba error, es a partir que comencé a utilizar la versión 14.09.
La consulta es:
tengo que modificar todos mis browses donde tengo campos numéricos?
y,
como debería definirlos?

Muchas Gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 420
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Error en Xbrowse

Postby TOTOVIOTTI » Tue Nov 18, 2014 11:36 am

Antonio/Rao:
me está dando en muchos de mis browses: (fw14.09)

Time from start: 0 hours 0 mins 31 secs
Error occurred at: 18-11-2014, 08:28:41
Error description: Error BASE/1081 Error de argumento: +
Args:
[ 1] = U
[ 2] = N 2

Stack Calls
===========
Called from: HARBOUR\XBROWSE.PRG => TXBROWSE:ISDISPLAYPOSVISIBLE( 2148 )
Called from: HARBOUR\XBROWSE.PRG => TXBROWSE:GORIGHT( 2695 )
Called from: HARBOUR\XBROWSE.PRG => TXBROWSE:HSCROLL( 2539 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1733 )
Called from: HARBOUR\XBROWSE.PRG => TXBROWSE:HANDLEEVENT( 12902 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3341 )
Called from: => DIALOGBOXINDIRECT( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 283 )
Called from: .\source\function\ERRSYSW.PRG => ERRORDIALOG( 420 )
Called from: .\source\function\ERRSYSW.PRG => (b)ERRORSYS( 23 )
Called from: HARBOUR\XBROWSE.PRG => TXBROWSE:ISDISPLAYPOSVISIBLE( 2148 )
Called from: HARBOUR\XBROWSE.PRG => TXBROWSE:GORIGHT( 2695 )


Que estoy haciendo mal? O que me está faltando definir?
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 420
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Error en Xbrowse

Postby joseluisysturiz » Tue Nov 18, 2014 3:40 pm

Ok, fijate, para probar, en tu tabla, a los campos que son de tipo numerico y que su valor sea NIL hasle un UPDATE por cero(0), si no usas ese valor para validar algo en tu sistema, tuve que hacer actualizaciones pero en mis tablas, como la forma de definir mis campos en el DEFAULT, los tipo char y varchar, los defini como Empty String y los int y decimal en mi caso, los defini en cero(0), prueba por los momentos con esa tabla donde alimentas tu xbrowse haber si eso te resuelve, sino, se buscara otra solucion haber cual es tu detalle, recuerda lo que te comente de inicializar las VAR que se suman que no queden de tipo NULL, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Error en Xbrowse

Postby TOTOVIOTTI » Thu Nov 20, 2014 8:54 pm

Y nada.... :?
Llevo haciendo mil pruebas con campos numéricos, alfabéticos, null, not null y siempre da el error.
El error se produce en los xbrowse donde les borro todas las columnas y las vuelvo a crear en tiempo
de ejecución:

Cuando las borro hago:

FOR V:=LEN(oBrw:aCols) TO 1 STEP -1
oBrw:DelCol(V)
NEXT


y después recargo de la siguiente manera:

RECARGA(oBrw,TITULO,ANCHO,DATOS,JUSTIFI)

le cargo datos según lo que necesite.

STAT FUNC RECARGA(oBrw,TITULO,ANCHO,DATOS,JUSTIFI)
oBrw:AddCol()
oBrw:aCols[nCol]:cHeader:=TITULO
oBrw:aCols[nCol]:nWidth :=ANCHO
oBrw:aCols[nCol]:bClrStd :={|| {COLOR,CLR_WHITE}}
oBrw:aCols[nCol]:bStrData :=DATOS
oBrw:aCols[nCol]:nDataStrAlign:=JUSTIFI
RETURN NIL


Y cuando recarga, da el error que expuse más arriba:
Stack Calls
===========
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:LASTDISPLAYPOS( 2177 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:PAINT( 1424 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:DISPLAY( 1367 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1699 )
Called from: .\source\classes\XBROWSE.PRG => TXBROWSE:HANDLEEVENT( 12584 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3341 )
Called from: => DIALOGBOX( 0 )


Una ayuda... porfa.....
Muchas gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 420
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Error en Xbrowse

Postby TOTOVIOTTI » Fri Nov 21, 2014 11:20 am

Antonio/Mr Rao... please....!
Gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 420
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Error en Xbrowse

Postby Antonio Linares » Fri Nov 21, 2014 12:56 pm

Roberto,

Si el error es en la línea 2148 el código es este en xbrowse.prg:

nWidth += ::ColAtPos( nPos ):nWidth + COL_SEPARATOR

revisando por que da error...
regards, saludos

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

Re: Error en Xbrowse

Postby Antonio Linares » Fri Nov 21, 2014 12:59 pm

En la línea 2177 tenemos:

do while nPos <= nLen .and. nWidth < nMaxWidth

Roberto, puedes comprobar si tienes el mismo código en tu xbrowse.prg en esas líneas ? gracias
regards, saludos

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

Re: Error en Xbrowse

Postby Antonio Linares » Fri Nov 21, 2014 1:10 pm

Y pudes comprobar este valor ?

Msginfo( oBrowse:nRecSelWidth )

gracias!
regards, saludos

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

Re: Error en Xbrowse

Postby TOTOVIOTTI » Fri Nov 21, 2014 1:51 pm

Antonio, gracias por responder, y disculpas por las molestias.
Si, tengo el mismo código porque uso el xbrowse nativo de la 14.09,

Msginfo( oBrw:nRecSelWidth ) me devuelve 25

Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 420
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Error en Xbrowse

Postby TOTOVIOTTI » Sat Nov 22, 2014 12:42 pm

Amigos,
puede que el error esté en la definición de mi browse?
mi diálogo es así:

DEFINE DIALOG oDlg RESOURCE "CONTROL" FONT oFont
REDEFINE XBROWSE oBrw ID 111 HEADERS "" COLSIZES 0 ;
ARRAY NOTAS LINES CELL NOBORDER OF oDlg
oBrw:nMarqueeStyle :=MARQSTYLE_HIGHLROW
oBrw:lMultiSelect :=.F.
oBrw:lRecordSelector:=.F.
oBrw:bClrSel :={|| {CLR_BLUE,CLR_FONDO}}
oBrw:nFreeze :=1
REDEFINE BUTTON IF 112 OF oDlg ACTION RECARGA()
ACTIVATE ....

Y en esa función RECARGA(), relleno el browse con las columnas que necesito de acuerdo a mis necesidades.

Por ejemplo:

STAT FUNC RECARGA()
LOCAL VECTOR:={{"1","2","3"})
oBrw:AddCol()
oBrw:aCols[1]:cHeader:="Dato 1"
oBrw:aCols[1]:nWidth :=20
oBrw:aCols[1]:bStrData:={|| VECTOR[oBrw:nArrayAt][1]}
oBrw:aCols[1]:nDataStrAlign:=AL_CENTER
oBrw:AddCol()
oBrw:aCols[2]:cHeader:="Dato 2"
oBrw:aCols[2]:nWidth :=20
oBrw:aCols[2]:bStrData:={|| VECTOR[oBrw:nArrayAt][2]}
oBrw:aCols[2]:nDataStrAlign:=AL_CENTER
oBrw:AddCol()
oBrw:aCols[3]:cHeader:="Dato 3"
oBrw:aCols[3]:nWidth :=20
oBrw:aCols[3]:bStrData:={|| VECTOR[oBrw:nArrayAt][3]}
oBrw:aCols[3]:nDataStrAlign:=AL_CENTER
oBrw:Refresh()
RETURN NIL


Así sería más o menos la idea de lo que quiero hacer, y, cuando recargo mi browse, da el error mostrado más arriba.
Muchas gracias y disculpas por la insistencia...
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 420
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Error en Xbrowse

Postby FranciscoA » Sat Nov 22, 2014 6:56 pm

Roberto.
Aaqui tenés un ejemplo compilable que puede serte util, o al menos servirte de guia, a vos o alguien mas.

Code: Select all  Expand view  RUN
#include "FiveWin.ch"
 #INCLUDE "XBROWSE.CH"

//------------------------------------------------
Function RecargarXBrw()
local oDlg, oBrw

local aTits  := {"Nombre","Ciudad"}
local aCols := {{"First"},{"City"}}

local aTitCols := {"Nombre","Apellido","Calle","Ciudad"}
local aCampos  := {"First","Last","Street","City"}

local aTitC := {"Nombre","Calle","Ciudad"}
local aCamp := {"First","Street","City"}

   DEFINE DIALOG oDlg SIZE 640,400 PIXEL

   @ 30,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;  
      COLUMNS aCols ;
      HEADERS aTits ;
      ARRAY aCols CELL LINES NOBORDER

   oBrw:CreateFromCode()

   @ 10,10 BUTTON "Recargar" SIZE 40,12 PIXEL OF oDlg ACTION ( Recarga(oBrw,aTitCols,aCampos,120) )
   @ 10,70 BUTTON "Recargar2" SIZE 40,12 PIXEL OF oDlg ACTION ( Recarga(oBrw,aTitC,aCamp,150) )

   ACTIVATE DIALOG oDlg CENTERED
return nil

//------------------------------------------
Function Recarga(oBrw,aTitCols,aCampos,nWdCols)
local cAlias, aData:={}

USE CUSTOMER NEW
DBSELECTAREA("CUSTOMER")
cAlias := Alias()

xDbf2Arr(cAlias,aData,aCampos)  //Convertir dbf a Array

CUSTOMER->(DBCLOSEAREA())

oBrw:SetArray(aData,.t.,1,.t.)
oBrw:cHeaders := aTitCols
AEval(oBrw:aCols,{|o,n,oCol| o:nWidth := nWdCols })
oBrw:Refresh(.t.)
oBrw:SetFocus()

RETURN NIL

//-----------------------------
Function xDbf2Arr(cAlias,aData,aCampos)
local aDat, n

For n := 1 to len(aCampos)   //POR SI ACA...
   aCampos[n]:= Upper(aCampos[n])
Next

(cAlias)->(dbgotop())

While !eof()  
    aDat:={}
    For n:=1 to FCount()
       if ASCAN(aCampos, (cAlias)->(FieldName(n)) ) != 0
          aadd(aDat,(cAlias)->(FieldGet(n)) )
       endif
    Next
    aadd(aData,aDat)
    dbSkip()
Enddo
SysRefresh()
Return nil
 


Espero te ayude a solucionar tu problema.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Error en Xbrowse

Postby acuellar » Sun Nov 23, 2014 1:45 pm

El xBrowse de FWH 14.09
No está permitiendo campos numéricos, obliga a poner TRANSFORM(NRO,"@Z") antes no era necesario.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Error en Xbrowse

Postby TOTOVIOTTI » Mon Nov 24, 2014 1:24 am

Gracias Adhemar, entonces como sería un ejemplito? muchas gracias!
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 420
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 44 guests