The below code is from XBP_BRW.PRG.
This is Alaska's source code for the XbpBrowse() class.
It appears that something is overwriting the :cursorMode iVar of the DC_XbpBrowse() object with an array.
It should always be a numeric value.
The :cursorMode iVar is set by aGetListItem[xGETLIST_OPTIONS7] of the GetList array for the browse.
You may want to look at the GetList in an array browser: WTF GetList
Code: Select all
/* *******************************************************************
* Navigate to given Row/Column
* RETURN: TRUE - stabilizing is necessary
* FALSE - stabilizing is not necessary
* */
METHOD XbpBrowse:GotoItem ( nRow, nCol, lDehilite )
DEFAULT lDehilite TO FALSE
// when the same item has been marked a second time, I will just return
IF ( ::CursorMode == XBPBRW_CURSOR_ROW ) <<<<<<<<<<<<<< error happens here
IF nRow == ::RowPos
RETURN FALSE
ENDIF
ELSE
IF nRow == ::RowPos .AND. nCol == ::ColPos
RETURN FALSE
ENDIF
ENDIF
// dehilite current mark if necessary
IF lDehilite
::Dehilite()
ENDIF
// skip to the selected row and column
IF nRow != ::RowPos
::HandleEvent ( xbeBRW_Navigate, XBPBRW_Navigate_Skip, nRow - ::RowPos )
ENDIF
IF nCol != ::ColPos
::HandleEvent ( xbeBRW_Navigate, XBPBRW_Navigate_SkipCols, nCol - ::ColPos )
ENDIF
RETURN TRUE