Page 1 of 2

Problema con listbox (Solucionado)

PostPosted: Thu Oct 22, 2015 11:38 am
by sajarm
Hola,

Estoy actualizando una aplicacion que me estaba funcionando bien con un FW antiguo. Ahora estoy trabajando con el FW 15.09 y me encuentro que en esta linea:

oLbx:bLine:= {|nAt| nAt:= oLbx:nAt, ;
If( Len(aDatos)<1 .or. nAt>Len(aDatos),;
Array(15), ;
{If( oLbx != Nil .and. oLbx:lSelect, hBmp, 0 ), ;
Transform( aDatos[ nAt, 19 ], "@D" ), ;
aDatos[ nAt, 1 ], ;
aDatos[ nAt, 2 ], ;
Transform( aDatos[ nAt, 3 ], G_dmill ), ;
Transform( aDatos[ nAt, 4 ], G_dmill ), ;
Transform( aDatos[ nAt, 5 ], p_dmil ), ;
Transform( aDatos[ nAt, 6 ], G_cmill ), ;
aDatos[ nat, 7 ], ;
aDatos[ nat, 8 ], ;
iif( aDatos[ nat, 9 ] <> '0', Transform( aIva[ Val(aDatos[ nat,9 ] ) ],"99" ), '00' ), ;
iif( aDatos[ nat, 10 ], 'SI', 'NO' ), ;
Transform( aDatos[ nAt, 17 ], '99.999' ), ;
Transform( aDatos[ nAt, 18 ], '99.999' ), ;
Transform( nAt, "@Z 9999" ) } ) }


me devuelve error:
Stack Calls
===========
Called from: => __ERRRT_SBASE( 0 )
Called from: ../../../tobject.prg => TWBROWSE:ERROR( 0 )
Called from: ../../../tobject.prg => (b)HBOBJECT( 0 )
Called from: ../../../tobject.prg => TWBROWSE:MSGNOTFOUND( 0 )
Called from: ../../../tobject.prg => TWBROWSE:LSELECT( 0 )
Called from: livencli.prg => (b)LIVENCLI( 116 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:DRAWSELECT( 458 )
Called from: .\source\classes\WBROWSE.PRG => (b)TWBROWSE( 191 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:LOSTFOCUS( 0 )
Called from: .\source\classes\CONTROL.PRG => TWBROWSE:KILLFOCUS( 1083 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1696 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:HANDLEEVENT( 1647 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => DIALOGBOXINDIRECT( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 289 )
Called from: errsysw.prg => ERRORDIALOG( 421 )
Called from: errsysw.prg => (b)ERRORSYS( 23 )
Called from: => __ERRRT_SBASE( 0 )
Called from: ../../../tobject.prg => TWBROWSE:ERROR( 0 )
Called from: ../../../tobject.prg => (b)HBOBJECT( 0 )
Called from: ../../../tobject.prg => TWBROWSE:MSGNOTFOUND( 0 )
Called from: ../../../tobject.prg => TWBROWSE:LSELECT( 0 )
Called from: livencli.prg => (b)LIVENCLI( 116 )
Called from: .\source\classes\WBROWSE.PRG => (b)TWBROWSE( 146 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:DRAWLINE( 0 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:PAINT( 755 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:DISPLAY( 2268 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1699 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:HANDLEEVENT( 1647 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => SYSREFRESH( 0 )
Called from: livencli.prg => LOCALIST( 344 )
Called from: livencli.prg => (b)LIVENCLI( 91 )
Called from: .\source\classes\TGET.PRG => TGET:LVALID( 1302 )
Called from: .\source\classes\CONTROL.PRG => TGET:FWLOSTFOCUS( 1138 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1708 )
Called from: .\source\classes\TGET.PRG => TGET:HANDLEEVENT( 598 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => SYSREFRESH( 0 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:KEYCHAR( 829 )
Called from: .\source\classes\TGET.PRG => TGET:KEYCHAR( 1212 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1733 )
Called from: .\source\classes\TGET.PRG => TGET:HANDLEEVENT( 598 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => DIALOGBOX( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 289 )
Called from: livencli.prg => LIVENCLI( 139 )
Called from: CONTAWIN.prg => (b)BUILDMENU( 775 )
Called from: .\source\classes\MENU.PRG => TMENU:COMMAND( 1079 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:COMMAND( 1139 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1092 )
Called from: CONTAWIN.prg => MAIN( 415 )

Revisando, creo que o es oLbx:lSelect, o es en el momento de imprimir el bitmap (hBmp) donde me esta dando el fallo, pero no logro encontrar la solucion

Gracias de antemano
Josep

Re: Problema con listbox

PostPosted: Thu Oct 22, 2015 3:18 pm
by karinha
Que haces esta linea?

Este wbrowse.prg és original ó de terceros?

Code: Select all  Expand view

Called from: livencli.prg => (b)LIVENCLI( 116 )
 


Saludos.

Re: Problema con listbox

PostPosted: Thu Oct 22, 2015 4:22 pm
by Antonio Linares
Josep,

Prueba a cambiar esta línea:

{If( oLbx != Nil .and. oLbx:lSelect, hBmp, 0 ), ;

así:

{If( oLbx != Nil .and. oLbx:nAt != 0, hBmp, 0 ), ;

Re: Problema con listbox

PostPosted: Thu Oct 22, 2015 9:52 pm
by sajarm
Antonio. Ok, Rectificando como me dices tu la linea, no da el error y me presenta la pantalla., pero lselect, me indicaba que linea tenia a punto para la edición y podia colocar un cursor, y ahora no lo tengo.
A parte, al cargar el array (aDatos), me vuelve a dar el mismo error al hacer un sysrefresh()
Una vez cargado el array le pido
oLbx:show()
oLbx:Refresh()
oLbx:GoTop()
oDlg:update()
oDlg:refresh()
SysRefresh()

Parece que las primeras instrucciones le valen, pero sysrefresh() da el error. He intentado sin sysrefresh() y da el error igual
Te adjunto error.log donde LIVENCLI(138) es donde se activa el dialogo
Stack Calls
===========
Called from: .\source\classes\WBROWSE.PRG => WBRWLINE( 2529 )
Called from: .\source\classes\WBROWSE.PRG => (b)TWBROWSE( 146 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:DRAWLINE( 0 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:PAINT( 755 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:DISPLAY( 2268 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1699 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:HANDLEEVENT( 1647 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => DIALOGBOXINDIRECT( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 289 )
Called from: errsysw.prg => ERRORDIALOG( 421 )
Called from: errsysw.prg => (b)ERRORSYS( 23 )
Called from: .\source\classes\WBROWSE.PRG => WBRWLINE( 2529 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:DRAWSELECT( 458 )
Called from: .\source\classes\WBROWSE.PRG => (b)TWBROWSE( 191 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:LOSTFOCUS( 0 )
Called from: .\source\classes\CONTROL.PRG => TWBROWSE:KILLFOCUS( 1083 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1696 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:HANDLEEVENT( 1647 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => DIALOGBOXINDIRECT( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 289 )
Called from: errsysw.prg => ERRORDIALOG( 421 )
Called from: errsysw.prg => (b)ERRORSYS( 23 )
Called from: .\source\classes\WBROWSE.PRG => WBRWLINE( 2529 )
Called from: .\source\classes\WBROWSE.PRG => (b)TWBROWSE( 146 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:DRAWLINE( 0 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:PAINT( 755 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:DISPLAY( 2268 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1699 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:HANDLEEVENT( 1647 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => SYSREFRESH( 0 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:KEYCHAR( 829 )
Called from: .\source\classes\TGET.PRG => TGET:KEYCHAR( 1212 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1733 )
Called from: .\source\classes\TGET.PRG => TGET:HANDLEEVENT( 598 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => DIALOGBOX( 0 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 289 )
Called from: livencli.prg => LIVENCLI( 138 )
Called from: CONTAWIN.prg => (b)BUILDMENU( 775 )
Called from: .\source\classes\MENU.PRG => TMENU:COMMAND( 1079 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:COMMAND( 1139 )
Called from: => TWINDOW:HANDLEEVENT( 0 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1092 )
Called from: CONTAWIN.prg => MAIN( 415 )

La transformacion de datos de aDatos la he comprobado varias veces, por si habia algun error al hacer el transform.

Gracias de antemano
Josep

Re: Problema con listbox

PostPosted: Fri Oct 23, 2015 12:57 am
by sajarm
Karina
La linea LIVENCLI (116) es la que me provoca el error, y que te detallo al principio del post

Gracias por tu interes

Re: Problema con listbox

PostPosted: Sat Oct 24, 2015 7:38 am
by Antonio Linares
Josep,

Cual es el error ?

Stack Calls
===========
Called from: .\source\classes\WBROWSE.PRG => WBRWLINE( 2529 )
Called from: .\source\classes\WBROWSE.PRG => (b)TWBROWSE( 146 )
Called from: .\source\classes\WBROWSE.PRG => TWBROWSE:DRAWLINE( 0 )

Re: Problema con listbox

PostPosted: Mon Oct 26, 2015 7:47 pm
by sajarm
Hola Antonio

La verdad es que no tengo ni idea de donde sale el error. En la primera parte, presenta bien la pantalla. Pregunta los datos de la consulta y carga el array y el problema me lo da al activar el listbox, e intentar presentar la tabla.

Saludos
Josep Armengol

Re: Problema con listbox

PostPosted: Mon Oct 26, 2015 7:49 pm
by Antonio Linares
Josep,

Puedes proporcionar una imagen de la pantalla cuando se produce el error o un pequeño ejemplo que lo reproduzca ? gracias

Re: Problema con listbox

PostPosted: Tue Oct 27, 2015 1:03 am
by sajarm
Hola Antonio

Nada, olvida todo lo dicho. El error lo estaba provocando ajustify. Empece a eliminar instrucciones antiguas y funciona perfectamente.

Ahora con lo que me encuentro, es que con el siguiente codigo:


FUNCTION facturar( nAlb, cClient, cAltera )

LOCAL oDlg, oBtnCancel, oBtnalb, oBtncli, oBtnrep, oNegre, nfac
LOCAL fich := Dbf(), nind := IndexOrd(), cTitle := 'F A C T U R A C I O N'

lacces = validapl( ProcName(), ' ' )
IF lacces = 'N' .OR. blo_quea
RETURN( .T. )
ENDIF

IF ValType( nAlb ) = 'C'
nAlb = Val( nAlb )
ENDIF

dbSelectArea( 'albara' )
dbSeek( cNegre + Str( nAlb,7,0 ) )
IF cAltera <> 'ASIENTOS'
nFac := albara->factura
ELSE
nFac := nAlb
ENDIF

DEFINE DIALOG oDlg RESOURCE "FACTURAR" font oFont

REDEFINE BTNBMP oBtnCancel ID 9501 OF oDlg RESOURCE "SALIR" PROMPT " " ;
UPDATE
oBtnCancel:bAction := {|| oDlg:End() }

REDEFINE BTNBMP oBtnalb ID 9502 OF oDlg RESOURCE "FACTUALB" PROMPT " " ;
MESSAGE 'Albarán ' + Str( nAlb, 7, 0 ) ;
UPDATE
oBtnalb:bAction := {|| Emifac( nAlb, 'ALB', oDlg, cTitle ) }

REDEFINE BTNBMP oBtncli ID 9503 OF oDlg RESOURCE "FACTUGEN" PROMPT " " ;
MESSAGE 'Cliente ' + cClient ;
UPDATE
oBtncli:bAction := {|| Emifac( Val( cClient ), 'CLI', oDlg, cTitle ) }

REDEFINE BTNBMP oBtnrep ID 9504 OF oDlg RESOURCE "REPEFAC" PROMPT " " ;
MESSAGE 'Repetición ' ;
UPDATE
oBtnrep:bAction := {|| Emifac( nFac, 'REP', oDlg, cTitle ) }

REDEFINE CHECKBOX oNegre VAR lNegre ID 6900 ;
OF oDlg ;
UPDATE

IF !lnegre
oNegre:hide()
ENDIF


ACTIVATE DIALOG oDlg CENTERED ON INIT tapa_fac( oDlg, nFac, cClient, oBtnalb, oBtncli, oBtnrep, nAlb )


dbSelectArea( 'albara' )
dbClearFilter()
dbSelectArea( fich )
IndexOrd( nind )

RETURN ( nAlb )

Me da el siguiente error:Application
===========
Path and name: I:\Gestcdx\Contawin.exe (32 bits)
Size: 4,518,912 bytes
Compiler version: Harbour 3.2.0dev (r1506171039)
FiveWin Version: FWH 15.09
Windows version: 6.1, Build 7601 Service Pack 1

Time from start: 0 hours 0 mins 3 secs
Error occurred at: 27-10-2015, 01:55:43
Error description: Error FiveWin/3 Cannot create Dialog Box:
Resource: FACTURAR

Stack Calls
===========
Called from: .\source\classes\DIALOG.PRG => CREATEDLGERROR( 562 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 292 )
Called from: Facturar.prg => FACTURAR( 70 )
Called from: CONTAWIN.prg => (b)MAIN( 390 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 638 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 872 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1723 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 1705 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3591 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1092 )
Called from: CONTAWIN.prg => MAIN( 415 )

Creo que debe ser un error en la creacion del recurso, y es este:

FACTURAR DIALOG FIXED DISCARDABLE 6, 18, 210, 142
STYLE WS_POPUP|WS_CAPTION|WS_SYSMENU|WS_VISIBLE
CAPTION " F A C T U R A C I O N"
FONT 12, "Verdana"
{
CONTROL "Cancel", 9501, "Button", WS_TABSTOP, 48, 108, 45, 24
CONTROL "Albarán", 9502, "Button", WS_TABSTOP, 4, 4, 68, 44
CONTROL "Cliente", 9503, "Button", WS_TABSTOP, 72, 48, 68, 44
CONTROL "Repetición", 9504, "Button", BS_MULTILINE|WS_TABSTOP, 140, 92, 68, 44
CONTROL "Check", 6900, "BorCheck", NOT WS_VISIBLE|0x00000003, 164, 16, 7, 8
}
Me pasa con todos los dialogos lo mismo.

Gracias por todo
Josep

Re: Problema con listbox

PostPosted: Tue Oct 27, 2015 2:04 am
by FranciscoA
Hola. Prueba cambiando,
esto:
Code: Select all  Expand view
CONTROL "Check", 6900, "BorCheck", NOT WS_VISIBLE|0x00000003, 164, 16, 7, 8
 

por esto:
Code: Select all  Expand view
CONTROL "Check", 6900, "Button", BS_AUTOCHECKBOX|WS_TABSTOP, 164, 16, 7, 8
 

Saludos.

Re: Problema con listbox

PostPosted: Tue Oct 27, 2015 4:51 pm
by sajarm
Gracias Francisco.
Todo Ok

Re: Problema con listbox

PostPosted: Wed Oct 28, 2015 7:05 pm
by sajarm
De momento parece que todo va funcionando. Gracias a todos por vuestra ayuda

Saludos
Josep

Re: Problema con listbox

PostPosted: Wed Oct 28, 2015 10:49 pm
by sajarm
Hola de nuevo

Ahora me encuentro, que una vez parece que va funcionando todo, hay un par de opciones que aun no veo como controlar
Code: Select all  Expand view

   DEFINE DIALOG oFld RESOURCE "BOXCOMU" TITLE cabe FONT oFont

   REDEFINE LISTBOX oLbx FIELDS "" ID 1300 OF oFld                         ;
      SIZES  90, 220, 50, 70, 35, 35, 35, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 60, 15        ;
      HEADERS &cTituls
   oLbx:bLine := {| nAt| nAt := oLbx:nAt,                                    ;
      iif( nAt > Len( aDatosBox ), Array( 18 ),                          ;
      { aDatosBox[ nAt, 1 ],                                         ;
      aDatosBox[ nat, 19 ],                                          ;
      Transform( aDatosBox[ nat, 20 ], p_dmil ),                           ;
      Transform( aDatosBox[ nat, 2 ], p_cmill ),                       ;
      Transform( aDatosBox[ nat, 21 ], '999.99' ),                           ;
      iif( aDatosBox[ nat, 3 ] <> '0', Transform( aIva[ Val(aDatosBox[ nat,3 ] ) ],"99.99" ), ' 0.00' ),              ;
      Transform( aDatosBox[ nat, 4 ], p_dmil ),                           ;
      iif( aDatosBox[ nat, 5 ], 'SI', 'NO' ),                           ;
      iif( aDatosBox[ nat, 6 ], 'SI', 'NO' ),                           ;
      iif( aDatosBox[ nat, 7 ], 'SI', 'NO' ),                           ;
      iif( aDatosBox[ nat, 8 ], 'SI', 'NO' ),                           ;
      iif( aDatosBox[ nat, 9 ], 'SI', 'NO' ),                           ;
      iif( aDatosBox[ nat, 10 ], 'SI', 'NO' ),                           ;
      iif( aDatosBox[ nat, 11 ], 'SI', 'NO' ),                           ;
      iif( aDatosBox[ nat, 12 ], 'SI', 'NO' ),                          ;
      iif( aDatosBox[ nat, 13 ], 'SI', 'NO' ),                          ;
      iif( aDatosBox[ nat, 14 ], 'SI', 'NO' ),                          ;
      iif( aDatosBox[ nat, 15 ], 'SI', 'NO' ),                          ;
      iif( aDatosBox[ nat, 16 ], 'SI', 'NO' ),                          ;
      iif( aDatosBox[ nat, 17 ], 'SI', 'NO' ) } ) }
   oLbx:SetArray( aDatosBox )
   oLbx:bRClicked := {| nRow, nCol, nAt| nAt := oLbx:nAt, CanviaMes( aDatosBox, nAt, nCol, oLbx ), oLbx:Refresh() }
   oLbx:bEdit :={|ncol|EditCel3( oLbx,nCol,@aDatosBox,oFld,@ntotal ) }                            
   oLbx:nClrPane := {|| iif( IsPar( oLbx:nAt ), CLR_LNOA01, CLR_LNOA02 ) }
 


Este codigo, me presenta bien la pantalla pero
- olbx:brclicked no me manda a la funcion canviames
- olbx:bEdit debo desactivarla para que me presente la pantalla. Si la activo me da el siguiente error
Code: Select all  Expand view

Application
===========
   Path and name: I:\Gestcdx\Contawin.exe (32 bits)
   Size: 4,372,480 bytes
   Compiler version: Harbour 3.2.0dev (r1506171039)
   FiveWin  Version: FWH 15.09
   Windows version: 6.1, Build 7601 Service Pack 1

   Time from start: 0 hours 0 mins 7 secs
   Error occurred at: 28-10-2015, 23:43:22
   Error description: Error BASE/1005  Message not found: TWBROWSE:_BEDIT
   Args:
     [   1] = O   TWBROWSE

Stack Calls
===========
   Called from:  => __ERRRT_SBASE( 0 )
   Called from: ../../../tobject.prg => TWBROWSE:ERROR( 0 )
   Called from: ../../../tobject.prg => (b)HBOBJECT( 0 )
   Called from: ../../../tobject.prg => TWBROWSE:MSGNOTFOUND( 0 )
   Called from: ../../../tobject.prg => TWBROWSE:_BEDIT( 0 )
   Called from: Boxcuotas.prg => PRESENTACUOTA( 91 )
 


PRESENTACUOTA(91) es precisamente la linea de olbx:bedit.

A ver si me podeis echar una mano
Saludos
Josep

Re: Problema con listbox

PostPosted: Thu Oct 29, 2015 2:02 am
by FranciscoA
Josep,
Qué version antigua usabas?

Error description: Error BASE/1005 Message not found: TWBROWSE:_BEDIT

Indica que no existe en la class, el method o block a evaluar bEdit

Por qué no consideras pasarte a TXBROWSE?. Es mucho mas poderoso.

Re: Problema con listbox

PostPosted: Fri Oct 30, 2015 1:27 pm
by sajarm
Hola Francisco

En ello estoy, pero me esta volviendo loco. Consigo presentar el xbrowse, pero no veo como editar las celdas

Agradeceria un ejemplo de redefine txbrowse con array para poder guiarme

Gracias de antemano

Josep