Página 1 de 1

tArrayBrowse y un error que no se por que ocurre

Publicado: Mar Feb 14, 2006 10:01 pm
por jose.luis
Hola,
Os dejo un proyecto donde creo un ArrayBrowse desde código en el método
Initialize del formulario.
Este browse no tiene elementos. De hecho, la propiedad aArrayData no ha
sido establecida.
Al hacer click sobre el area cliente del browse arroja el error:
(b)XBROWSE:XBROWSE(187)
Error BASE/1132 Bound error: array access
Argumentos: ( [ 1] = Tipo: A Valor: [ 2] = Tipo: N Valor: 1)
Saludos,
José Luis Capel
--

tArrayBrowse y un error que no se por que ocurre

Publicado: Mar Feb 14, 2006 10:29 pm
por Xevi
José Luí­s,
Las columnas del ArrayBrowse necesitan un "ancho" (nWidth), sinó se quedan en nWidth a 0... y es como si lVisible fuera .F.. O sea que en tu caso estás creando 5 columnas de ancho 0.
Además el método Create() al crear el objeto columna no se crea de esa manera, necesitas asignarlo al Browse con AddCol..
Prueba cambiar tu OnInitialize por este código, y verás que aunque no existan lí­neas en el Browse, no va a lanzarte ningún error.
METHOD FormInitialize( oSender ) CLASS TForm2
LOCAL nX, oCol
WITH OBJECT ::oMiBrowse := tArrayBrowse():New(Self)
:nAlign := alCLIENT
:Create()
END
FOR nX := 1 TO 5
WITH OBJECT oCol := tBrwColumn():New( ::oMiBrowse )
:cHeader := "Columna "+LTRIM(STR( nX ))
:nWidth := 75
* :Create()
END
::oMiBrowse:AddCol( oCol )
NEXT
::oMiBrowse:Refresh( .T. )
RETURN Nil
Un Saludo,
Xevi.
"José Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje news:[email=43f24511@ozsrvnegro.ozlan.local...]43f24511@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> Os dejo un proyecto donde creo un ArrayBrowse desde código en el método
> Initialize del formulario.
>
> Este browse no tiene elementos. De hecho, la propiedad aArrayData no ha
> sido establecida.
>
> Al hacer click sobre el area cliente del browse arroja el error:
>
> (b)XBROWSE:XBROWSE(187)
> Error BASE/1132 Bound error: array access
> Argumentos: ( [ 1] = Tipo: A Valor: [ 2] = Tipo: N Valor: 1)
>
> Saludos,
> José Luis Capel
>
--

tArrayBrowse y un error que no se por que ocurre

Publicado: Mar Feb 14, 2006 10:33 pm
por Xevi
José Luí­s,
Perdón, pero he visto que también funciona con el método Create...
FOR nX := 1 TO 5
WITH OBJECT oCol := tBrwColumn():New( ::oMiBrowse )
:cHeader := "Columna "+LTRIM(STR( nX ))
:nWidth := 75
:Create()
END
* ::oMiBrowse:AddCol( oCol )
NEXT
Yo... lo estoy utilizando con AddCol... pero si así­ también funciona!!!
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje news:[email=43f24bae@ozsrvnegro.ozlan.local...]43f24bae@ozsrvnegro.ozlan.local...[/email]
José Luí­s,
Las columnas del ArrayBrowse necesitan un "ancho" (nWidth), sinó se quedan en nWidth a 0... y es como si lVisible fuera .F.. O sea que en tu caso estás creando 5 columnas de ancho 0.
Además el método Create() al crear el objeto columna no se crea de esa manera, necesitas asignarlo al Browse con AddCol..
Prueba cambiar tu OnInitialize por este código, y verás que aunque no existan lí­neas en el Browse, no va a lanzarte ningún error.
METHOD FormInitialize( oSender ) CLASS TForm2
LOCAL nX, oCol
WITH OBJECT ::oMiBrowse := tArrayBrowse():New(Self)
:nAlign := alCLIENT
:Create()
END
FOR nX := 1 TO 5
WITH OBJECT oCol := tBrwColumn():New( ::oMiBrowse )
:cHeader := "Columna "+LTRIM(STR( nX ))
:nWidth := 75
* :Create()
END
::oMiBrowse:AddCol( oCol )
NEXT
::oMiBrowse:Refresh( .T. )
RETURN Nil
Un Saludo,
Xevi.
"José Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje news:[email=43f24511@ozsrvnegro.ozlan.local...]43f24511@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> Os dejo un proyecto donde creo un ArrayBrowse desde código en el método
> Initialize del formulario.
>
> Este browse no tiene elementos. De hecho, la propiedad aArrayData no ha
> sido establecida.
>
> Al hacer click sobre el area cliente del browse arroja el error:
>
> (b)XBROWSE:XBROWSE(187)
> Error BASE/1132 Bound error: array access
> Argumentos: ( [ 1] = Tipo: A Valor: [ 2] = Tipo: N Valor: 1)
>
> Saludos,
> José Luis Capel
>
--

tArrayBrowse y un error que no se por que ocurre

Publicado: Mar Feb 14, 2006 10:48 pm
por jose.luis
Xevi,
Gracias!! Era eso... es que como siempre tení­a algún elemento los
browses, no me daba cuenta de que no colocaba un ancho especí­fico a la
columna. Reitero las gracias.
> Perdón, pero he visto que también funciona con el método Create...
>
> FOR nX := 1 TO 5
> WITH OBJECT oCol := tBrwColumn():New( ::oMiBrowse )
> :cHeader := "Columna "+LTRIM(STR( nX ))
> :nWidth := 75
> :Create()
> END
> * ::oMiBrowse:AddCol( oCol )
> NEXT
> Yo... lo estoy utilizando con AddCol... pero si así­ también funciona!!!
Yo me he fijado como lo crea Xailer mirando en el .xfm Y así­ es como lo
hace allí­ (me refiero al WITH/END)
Saludos,
José Luis Capel