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

Reply via email to