Hi Przemek,

On 2008.04.17., at 15:22, Przemyslaw Czerpak wrote:

On Thu, 17 Apr 2008, Przemyslaw Czerpak wrote:

Hi Viktor,

There are just three unexplained differences (amazing BTW)
when comparing the C53 and Harbour output of rto_tb.prg;
value of o:rowPos, where it is 2 in C53 and 1 in
Harbour after calls in line 214 (and 215, 216).
This is actually a pretty small test case there.
I'll look at it.

The answer is very simple.
Clipper keeps internally rowpos as offset from top line and
when you access this value using :rowpos method it returns it
decreased by header size. When you add column the internal
rowpos is updated and header size is added to internal rowpos
variable. But when you delete column Clipper does not properly
update it removing the reduced header size. Change in this test
heading to "test;01h" and you will see that rowpos becomes 3.
It's a bug which is also the reason of not shown last foot line
in VV1.PRG you sent to me when column does not have foot separator
and there is no global foot separator but other columns have it.
The internal row position for beginning of footing area (footsep
and/or footing) is wrongly calculated because it does not respect
foot separators introduced by other columns so later when it's
shown there in no place to display last footing line.
I do not want to replicate it.

Thanks a lot! Of course no need to replace it if
it's a Clipper bug (which is now even documented) :)

Just to reiterate in public: Your TBrowse()
work is excellent, hats off for this, I have at
least some ideas how complicated this thing is,
and your new version is just amazing engineering.

My vote to upload it to SVN.

Brgds,
Viktor

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

Reply via email to