Hi Przemek,

Interesting read! I agree on point 3., point 1.
is up to you, I also think current Harbour TB
works good for the majority cases, so unless we can
improve something valuable, there is no point to
struggle on these details.

Could you pls reattach the modified br.prg? It looks
this one was the original file.

Do you think there is any reasonable way to avoid
to infamous "roll up" problem in any ways?

This might have something to do with your point 2.

See below the conversation about the "roll up"
problem. It basically means that in "certain" situations
the user will experience the browse to start going
up one by one until it reaches the beginning of the
table.

Brgds,
Viktor

Begin forwarded message:

From: Szakáts Viktor <[EMAIL PROTECTED]>
Date: 2007. április 21. 10:05:16 GMT+02:00
To: "Bill Smith" <[EMAIL PROTECTED]>
Subject: Re: [Harbour] CHANGELOG: 2007-04-20 21:46 UTC+0100 Viktor Szakats(harbour.01 syenar.hu)

Hi Bill,

I guess you mean the long-time problem in ::forceStable()/::stabilize()/::skipBlock(),
where after a ::refreshAll():forceStable() sometimes RecNo() changes.
(this happens in Clipper the same way, but occurs less frequently due to some speed differences, which in turn causes less :forceStable() calls.)

Not much advance in this area since last years conversation :(

I plan to grab some time to streamline TBrowse, as I have several smaller
problems with it, and we also miss caching (already implemented in xhb
AFAIK), which could help in this problem too.

I have to tell though that this above mentioned bug looks pretty much
a design problem with how TBrowse() works (and interacts with the db),
so it might not be possible to fix it completely without drastic changes in
behaviour.

Brgds,
Viktor

On 2007.04.20., at 22:36, Bill Smith wrote:

Hi Victor,

Many thanks for your work. There has been a long standing bug in dbedit() (and by extension tbrowse()) where if the keyboard buffer is full when a "browse up" command is executed, the current record number is set to eof(). In practice it means that if a database is browsed, if keyboard keys are used to rapidly navigate the database, it is possible to unexpectedly find the browse function displaying records beginning from the end of the file. This used to be an intermittent problem, but with improvements in Harbour
has become quite predictable.

Is there any way to correct it?

Bill

----- Original Message -----
From: "Szakáts Viktor" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, April 20, 2007 12:47 PM
Subject: [Harbour] CHANGELOG: 2007-04-20 21:46 UTC+0100 Viktor
Szakats(harbour.01 syenar.hu)


2007-04-20 21:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
  * harbour/source/rtl/tbcolumn.prg
  * harbour/source/rtl/tbrowse.prg
  * harbour/source/rtl/teditor.prg
  * harbour/source/rtl/tget.prg
  * harbour/source/rtl/tgetlist.prg
    % Avoiding INLINE for speed.
    % Using INIT for quicker object initialization.
    + Added TGet() NOTEs, TOFIX.
    ! Fixed some problems in TGetList. (Two GetApplyKey()
      potential RTEs.)
    ! Fixed a few missing "CLASS TBrowse"-es.
    ; Some formatting, code cleaning.

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour



_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to