[ 1 ] = N 353213
This is the reason. Here nPasteRow's value appears to be beyond the limit.
If the code of xbrowse is bug-free ( let us assume so for the time being ), this value should not exceed the total rows in the table. If the table really contains more rows than 352,213 then we now know that this number seems to be the limit and so we need to export subsets of the table.
Check #1: Does the table really contain more rows than the limit?
If so please consider exporting subsets of table.
Check #2: Does Eval( oBrw:bKeyCount() ) correctly return the number of rows in the table?
If not check the codeblocks for oBrw:bKeyCount() .and. oBrw:bSkip
Check #3:
We need to investigate why the number is so high. I request your cooperation in the logging the relevant values to a log file in the loop.
Please locate this part of the program code in toExel() method and insert the lines I indicated:
- Code: Select all Expand view
ferase( 'x.log' ) // INSERTED
logfile( 'x.log', { nRow, nPasteRow, nDataRows } ) // INSERTED
do while nRow <= ( nDataRows + 1 ) .and. lContinue
if ! Empty( cText )
cText += CRLF
endif
cText += ::ClpRow( .t., aCols )
lContinue := ( ::Skip( 1 ) == 1 ) // Eval( ::bSkip, 1 )
nRow ++
if nRow % 1000 == 0 .or. nRow > 353000 // INSERTED
logfile( 'x.log', { nRow, nPasteRow, nDataRows } ) // INSERTED
endif // INSERTED
Examine the log file after termination of the program.