Hi,
If possible then I would like to ask all of you to make tests with
this new class and your code. It will be the best if you have some
original Clipper code not updated to work also with Harbour or xHarbour.
If sth will be wrong then please inform me.
If all will work correctly then I'll replace current code with the new
one before release.
I found some old DOS code using TBrowse() object. It's dated 1997-11-27.
It was compiled last time in 1999. I can try to test, but I'm not sure
if I'll be able to do it. It uses some .asm code to implement mouse in
DOS. Browse code even tries to change mouse pointer shape (by using
different symbol) to indicate the action performed on mouse button
press. Ex., arrow down (symbol CHR(25)) mouse pointer indicate PageDown
action on mouse button press. There are many other tricks which are not
compatible with current Windows/Unix code.
> The order of instance variables in new TBROWSE class is compatible
> with Clipper so it should be compatible also with the code which
> directly manipulates them using array indexes (not suggested but
> I've seen such code).
I found some code using oBrowse[6] instead of oBrowse:columns, but I
also found some more exotic code:
nRow += BIN2W(SUBSTR(poTab[14], 33, 2)) - 1 // nFirstRow - nTop - 1
poTab:AutoLite := .F.
poTab:Dehilite()
poTab[14] := MyStuff(poTab[14], 41, I2BIN(nRow) + I2BIN(nRow))
poTab:RefreshAll()
It operates on internal browse C structure. I remember, we were unable
to get some information about active/hilited browse row or something,
without using code like that. I do not remember the details, only this
original comment left.
MyStuff(a, b, c) is STUFF(a, b, LEN(c), c) written in .asm, because
original Clipper 5.2 implementation of STUFF used to make memory
corruption with unpredictable errors later.
Best regards,
Mindaugas
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour