Page 1 of 1
Actualizar XBrowse (duda)
Posted: Mon Aug 25, 2008 11:06 am
by jfafive
Hola otra vez,
Perdón por mi insistencia, pero soy de esos que casi nunca preguntan. Pero cuando preguntan, no paran.
El caso es que tengo un XBrowse que muestra un array, así:
Code: Select all | Expand
REDEFINE XBROWSE oBrw ARRAY aDatos ID ID_BRW OF oTab:aDialogs[1] AUTOCOLS
Cuando actualizo los datos del array, el browse refleja los cambios sin problema:
Code: Select all | Expand
.... actualizo la lista del array ...
oBrw:SetArray( aDatos )
oBrw:Refresh()
El problema, es que cuando trabajo con SetTree, la aplicación da un error de acceso a array:
Code: Select all | Expand
oBrw:SetArray( aDatos )
oBrw:SetTree( nil, { "CLOSE", "OPEN", "TXTMIN" } )
oBrw:Refresh()
... y no se de que puede ser. He comprobado el array y está correcto. Tambien he intentado solventarlo destruyendo el browse y volviendo a crearlo, oBrw:End(), oBrw:CreateFromResource(...)
Posted: Mon Aug 25, 2008 3:08 pm
by Antonio Linares
Javier,
Puedes proporcionar un ejemplo pequeño y autocontenido para reproducir el error aqui ? gracias
Posted: Mon Aug 25, 2008 4:36 pm
by jfafive
Antonio,
te lo envio por email.
La prueba es un browse con dos botones.
Uno carga el array en el borse y el otro lo descarga (mejor dicho lo intenta)
Un saludo
Posted: Tue Aug 26, 2008 7:55 am
by Antonio Linares
Javier,
Solo tienes que quitar la llamada a oBrw:GoTop() y aqui está funcionando bien

Posted: Tue Aug 26, 2008 8:33 am
by jfafive
Antonio,
¿has desplegado el tree, haciendo doble click sobre la primera linea?
A mi me da un error si despliego el settree y luego pulso vaciar array.
Code: Select all | Expand
Application
===========
Path and name: C:\TMP\PRUEBA\PRUEBA.EXE (32 bits)
Size: 1,554,944 bytes
Time from start: 0 hours 0 mins 12 secs
Error occurred at: 08/26/08, 10:33:24
Error description: Error BASE/1132 Bound error: array access
Args:
[ 1] = A { ... }
[ 2] = N 2
Posted: Tue Aug 26, 2008 9:00 am
by Antonio Linares
Javier,
Desde aqui puedes descargar el EXE:
http://rapidshare.com/files/140193147/Javier.zip.html
Quizá se deba a los cambios que hemos realizado en la Clase TXBrowse en las últimas versiones.
Pruébalo y si te funciona bien, te indicamos que tienes que cambiar, gracias.
Posted: Tue Aug 26, 2008 10:46 am
by jfafive
Valla!
Pues si que funciona el exe que me he bajado.
Entonces ya no se que decir.
¿Alguna indicación?
Posted: Tue Aug 26, 2008 12:31 pm
by Antonio Linares
Javier,
Te enviamos un email con unos cambios que tienes que hacer

Posted: Tue Aug 26, 2008 2:51 pm
by jfafive
Gracias Antonio,
Cuando compile el xbrowse.prg, tendré que actualizar la libreria.
Yo utilizo el TLIB.EXE, supongo que servirá.
Y supongo que será el modulo FIVEH.LIB el que hay que actualizar
¿no?
Posted: Wed Aug 27, 2008 8:20 am
by jfafive
Hola Antonio,
He probado enlazando el XBROWSE.OBJ a FIVEH.LIB y tambien lo he probado solo con el XBROWSE.OBJ, pero me da un error al enlazar el ejemplo.
Code: Select all | Expand
┌────────────────────────────────────────────────────────────────────────────┐
│ FiveWin for Harbour 8.04 - Apr. 2008 Harbour development power │▄
│ (c) FiveTech, 1993-2008 for Microsoft Windows 95/98/NT/2000/ME/XP/Vista │█
└────────────────────────────────────────────────────────────────────────────┘█
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Compiling...
Harbour devel build 1.1-1 Intl.
Copyright (c) 1999-2007, http://www.harbour-project.org/
Compiling 'xbrowse.prg' and generating preprocessed output to 'xbrowse.ppo'...
Lines 12212, Functions/Procedures 163
Generating C source output to 'xbrowse.c'... Done.
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
xbrowse.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_WHEELSCROLL' referenced from C:\FWH\SAMPLES\XBROWSE.OBJ
Error: Unresolved external '_HB_FUN_CVALTOSTR' referenced from C:\FWH\SAMPLES\XBROWSE.OBJ
Error: Unresolved external '_HB_FUN_GRADIENTFILL' referenced from C:\FWH\SAMPLES\XBROWSE.OBJ
* There are errors
C:\FWH\samples>
Perdona la insistencia.
Un saludo.

Posted: Wed Aug 27, 2008 8:36 am
by Antonio Linares
Javier,
Prueba a definir estas funciones en tu PRG:
function WheelScroll() ; return 1
function cValToStr( u ) ; return cValToChar( u )
function GradientFill() ; return nil
Posted: Wed Aug 27, 2008 9:33 am
by jfafive
Gracias Antonio.
Ya funciona.
