On Mon, 05 May 2008, Szakáts Viktor wrote:

Hi Viktor,

> Okey, just to add one bit to this: This effect does
> happen in non-concurrent access too, _most likely_
> (but I'm not sure and see below) when the table state
> (position, ordering or filtering) changes between two
> stabilization calls.
> So, the problem seems not just that the cache becomes
> unsynced, but that the function browse.prg / FreshOrder()
> becomes confused and cannot go back to its original
> position, therefore the DO WHILE loop goes up to BOF().
> There was a pretty simple Browse() on an indexed table
> posted on the list a few years ago, which could demonstrate
> the problem pretty consistently. I've attached this small
> example to the list, plus find another preceding conversation
> with Bill Smith about this problem. Unfortunately for me
> the problem didn't surface neither with Clipper nor with
> Harbour this time, but it was surely there last time.
> [It depends on execution/screen response time, and some
> specific but normal navigation sequence]. I just can hope
> this helps.

I'm afraid that I cannot replicate it with current code.
I'm not even sure what's the exact problem.
Do you talk about the effect presented by code below?

best regards,
Przemek


proc main()
   field F1
   local oBrw, n
   cls
   dbCreate("_tst",{{"F1","N",10,0}})
   use _tst
   while lastrec()<30
      dbappend()
      F1:=recno()*10
   enddo
   index on F1 to _tst
   set color to "W/R,W+/B"
   oBrw := TBrowseDB( 1, 1, 15, 20 )
   for n := 1 to fcount()
      oBrw:AddColumn( TBColumnNew( FieldName( n ), ;
                                   FieldBlock( FieldName( n ) ) ) )
   next

   dbgoto( 10 )
   oBrw:forceStable()
   inkey(0)
   F1:=1001
   dbcommit()
   oBrw:refreshAll():forceStable()
   inkey(0) // only last row is visible

   while inkey(0)!=27
      oBrw:applyKey(lastKey())
      oBrw:forceStable()
   enddo

   setPos(20,0)
return
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to