Page 1 of 1

Error in DCBROWSE

Posted: Tue Jun 28, 2011 6:11 am
by Wolfgang Ciriack
Hi Roger,
with the change from version 253 to 255 i now get an error in one of my browses (with 253 the same code still run fine).
Can you tell me, what have changed with Rowcolor ?

Code: Select all

base++ Version     : Xbase++ (R) Version 1.90.355
eXPress++ Version   : eXPress++ (c) Version 1.9.255
Betriebssystem      : Windows XP 05.01 Build 02600 Service Pack 3
------------------------------------------------------------------------------
oError:args         :
          -> VALTYPE: A VALUE: {}
          -> VALTYPE: N VALUE:          1
oError:canDefault   : N
oError:canRetry     : N
oError:canSubstitute: J
oError:cargo        : NIL
oError:description  : Fehler bei der Arrayindizierung
oError:filename     : 
oError:genCode      :          4
oError:operation    : <A of 0>[<1>]
oError:osCode       :          0
oError:severity     :          2
oError:subCode      :       1012
oError:subSystem    : BASE
oError:thread       :          1
oError:tries        :          0



------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von DC_XBPBROWSE:ROWCOLOR(744)
Aufgerufen von (B)_ROWCOLOR(1752)
Aufgerufen von (B)DC_XBPCOLUMN:INIT(2098)
Aufgerufen von XBPCOLUMN:DRAWROW(709)
Aufgerufen von DC_XBPCOLUMN:DRAWROW(2780)
Aufgerufen von (B)XBPBROWSE:DRAWROW(2170)
Aufgerufen von XBPBROWSE:DRAWROW(2170)
Aufgerufen von XBPBROWSE:FORCESTABLE(1154)
Aufgerufen von XBPBROWSE:HANDLEEVENT(1536)
Aufgerufen von DC_XBPBROWSE:HANDLEEVENT(905)
Aufgerufen von XBPBROWSE:SHOW(3281)
Aufgerufen von DC_GETLIST:READGUI(3103)
Aufgerufen von DC_READGUI(101)
Aufgerufen von STARTGRAFZUORD(1267)
Aufgerufen von (B)AUFMAIN(561)
Aufgerufen von DC_GETLIST:EVENTLOOP(4449)
Aufgerufen von DC_GETLIST:READGUI(3677)
Aufgerufen von DC_READGUI(101)
Aufgerufen von AUFMAIN(1324)
Aufgerufen von MENUSELECT(392)
Aufgerufen von (B)_SBACTIONBL(371)
Aufgerufen von DC_XBPPUSHBUTTON:ACTION(2303)
Aufgerufen von (B)DC_XBPPUSHBUTTON:INIT(1873)
Aufgerufen von XBPPUSHBUTTON:HANDLEEVENT(1028)
Aufgerufen von DC_GETLIST:EVENTLOOP(4449)
Aufgerufen von DC_GETLIST:READGUI(3677)
Aufgerufen von DC_READGUI(101)
Aufgerufen von MAIN(366)
This is a extract from my code:

Code: Select all

   @zl,spa DCBROWSE oBrw ;
     DATA aKfz[i][5] ;
     HEADLINES 2 ;
     SIZE 21,14.5 ;
     FONT "9.Arial Fett" ;
     TABSTOP ;
     NOHORIZSCROLL ;
     TAGENABLE ;
     TAGELEMENT 3 ;
     TAGCOLOR GRA_CLR_YELLOW, GRA_CLR_DARKGRAY ;
     TAGMODE DCGUI_TAGMODE_CLEAR

   DCBROWSECOL ELEMENT 1 ;
            HEADER aKfz[i][2]+";"+aKfz[i][3] ;
            WIDTH 15 ;
            CARGO i ;
            FONT "9.Arial" ;
            DRAG {|o| aDragData:=GetDragData(o)} DIALOG {|mp1,mp2,oXbp| DragAuftrag(mp1,mp2,oXbp,aDragData)} ;
            DROP {|o,a,mp1,mp2,nOffset| DropAuftrag(o,a,mp1,mp2,nOffset), dc_getrefresh(Getlist), _SetFocus(o:Cargo[3], lastbrw) } ;
            PARENT oBrw ;

Re: Error in DCBROWSE

Posted: Tue Jun 28, 2011 8:19 am
by rdonnay
Wolfgang -

The error is caused because you are using the TAGENABLE feature with an empty array.

This error did not show up in previous versions because it was trapped due to some code I had left in eXpress++ to overcome some problems with Xbase++ SL1 beta versions. I remove the error trap in build 255.

To fix this problem you need to make the following change to _DCXBROW.PRG and then rebuild DCLIPX.DLL by runing build19_sl1.bat.
This fix will be in the next eXpress++ build.

Code: Select all

Line 743

Was:

ELSEIF Valtype(::dataSource) == 'A' 

Is:

ELSEIF Valtype(::dataSource) == 'A' .AND. Len(::dataSource) > 0

Re: Error in DCBROWSE

Posted: Tue Jun 28, 2011 8:36 am
by Wolfgang Ciriack
Thank you Roger for your quick support. Now it works again.