Page 1 of 1
Error BASE/1132 Bound error: array access
Posted: Fri Feb 10, 2006 3:39 am
by EASYSOFT
Hola amigos del foro
Este error lo tengo al pasar el mouse por sobre un browse (tcbrowse), cuando lo tengo sobre el dialogo no pasa nada.
Error description: Error BASE/1132 Bound error: array access
Args:
[ 1] = A { ... }
[ 2] = N 3
Stack Calls
===========
Called from TWINDOW:MOUSEMOVE(0)
Called from TWINDOW:HANDLEEVENT(0)
Called from TWINDOW:HANDLEEVENT(0)
Called from _FWH(0)
Called from DIALOGBOXINDIRECT(0)
Called from TDIALOG:ACTIVATE(0)
Called from FACTURA(92)
Called from (b)MIC5MENU(137)
Called from TC5MENU:COMMAND(714)
Called from TWINDOW:COMMAND(0)
Called from TWINDOW:HANDLEEVENT(0)
Called from _FWH(0)
Called from WINRUN(0)
Called from TWINDOW:ACTIVATE(0)
Called from MAIN(65)
Saludos
_
Posted: Fri Feb 10, 2006 9:11 am
by Antonio Linares
_,
Cuantas columnas tiene el TCBrowse ? Puedes mostrar aqui el código con el que creas el browse ? gracias
Posted: Fri Feb 10, 2006 12:16 pm
by EASYSOFT
Es el código
// Reviewing arrays - using FiveWin TCBrowse
#include "FiveWin.ch"
#include "TCBrowse.ch"
//----------------------------------------------------------------------------//
static oBrw
//----------------------------------------------------------------------------//
Function factura(oWnd)
memvar inbod
local nI, aTestData, uVar, oBtn, oFont
local oWndChild, odfactu, oBar, oMsg
local cName := "Testing..."
local canum
CursorWait()
// load some fields into a multi element array,
dbselectarea("kardex")
canum := ' 74'
if !dbseek(inbod+'S'+canum)
?? inbod+'S'+canum
endif
aTestData := array(5,4) // Array( LastRec(), 4 ) // make the array
nI = 1
do while !eof() .and. inbod+'S'+canum = in_bod+in_tran+in_num
aTestData[nI,1] := PADR(Field->in_cod) // numb
dbselectarea("bodega")
if dbseek('01'+aTestData[nI,1])
descri := in_dsc
endif
dbselectarea("kardex")
aTestData[nI,2] := Trim(descri)
// need to pad char array element for editing beyond last character
aTestData[nI,3] := Field->in_klsomts // logical
aTestData[nI,4] := Field->in_vlrtota // date
ni++
dbskip()
enddo
* USE
* Aadd( atestdata, {"","","",0} )
DEFINE DIALOG odfactu FROM 2,2 TO 24, 85 OF oWnd TITLE "Test Multi Col Array"
@ 1.5, 3 COLUMN BROWSE oBrw OF odfactu ;
SIZE 170, 145 MESSAGE "Multi-Element Array Column Browse"
oBrw:SetArray( aTestData )
oBrw:Refresh()
oBrw:lHitBottom:= .f.
* oBrw:GoBottom()
SysRefresh()
oBrw:nClrForeHead := CLR_WHITE
oBrw:nClrBackHead := CLR_BLUE
// oBrw:bLDblClick = { | nRow, nCol | EditCell( oBrw, nRow, nCol ) }
// oBrw:lNoLiteBar := .t. // get rid of the lite bar cursor
// oBrw:lNoGrayBar := .t. // get rid of that ugly gray bar on lost focus
// oBrw:lMChange := .t. // set false to prevent Mouse colm resize/drag
oBrw:lLogicDrop := .t. // use crazy logic dropbox
oBrw:lNoHScroll := .t. // don't use that pesky horiz scroll bar
oBrw:nAdjColumn := 3 // expand this column to flush table right
oBrw:nFreeze := 5 // This will freeze all & prevent horiz scrolling
// NOTE can't resize/drag on frozen columns
ADD COLUMN TO BROWSE oBrw DATA oBrw:nAt ;
SIZE 30 NOBAR CENTER COLOR CLR_BLACK, CLR_HGRAY ;
HEADER "No"
ADD COLUMN TO oBrw DATA ARRAY ELEM 3 ;
HEADER "C¢digo " SIZE 60 RIGHT
* ADD TO oBrw ARRAY ELM 2 ;
* HEADER " Nombres" EDIT MESSAGE "Apellidos y Nombres" ;
* SIZE 10 PICTURE "" // size is small since will nAdjColumn width
* ADD COLUMN TO oBrw DATA ARRAY ELEM 2 ;
* HEADER "Descrupci¢n" EDIT SIZE 10 PICTURE "@S50"
* ADD COLUMN TO oBrw DATA ARRAY ELEM 3 ;
* HEADER "Cantidad " SIZE 60 RIGHT ;
* EDITABLE
ACTIVATE DIALOG odfactu
Saludos
_
Posted: Fri Feb 10, 2006 2:48 pm
by EASYSOFT
Listo Antonio lo solucione
definia caracteristicas para columnas que no tenía en el browse
Gracias
Saludos
_
Posted: Fri Feb 10, 2006 7:18 pm
by Antonio Linares
_,
bien