Mr Acuellar
Eval( oBrw:BookMark ) --> RecNo() // in case of DBF
( Except in very old versions, oBrw:BookMark returns RecNo() for DBF browse)
oBrw:GoDown() or Eval( oBrw:bSkip, 1 ) never go past eof and oBrw:eof() will never be true. This is due to the way oBrw:bSkip is defined.
I do not know which version of FWH you are using. I advise you to see the souce code of your version of xbrowse method GoDown()
In older versions ( including some versions in the year 2012 ), method GoDown(nDown) was returning NIL. If your version's method GoDown(nDown) is returning NIL, please correct this to return nDown.
If your original code is
- Code: Select all Expand view
METHOD GoDown( nDown )
...
...
return nil
Please modify as :
- Code: Select all Expand view
METHOD GoDown( nDown )
.....
.....
return nDown
Then you can have a loop like this:
do while oBrw:GoDown() == 1
<do something>
enddo
// reached the last row
oBrw:GoTop()
Alternatively, oBrw:Eval( bBlock ) also does the same thing.
Note: The correction I suggested above is important.
Comparison with oBrw:nLen also can be used. But this is not always reliable because OrdKeyCount() does not return the accurate count of records when SET DELETED IS ON and there are deleted records and filter expression does not include "!DELETED()"