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
>
--