Alaska Software Inc. - TBrowse experience
Username: Password:
AuthorTopic: TBrowse experience
Rodd GrahamTBrowse experience
on Wed, 07 Sep 2005 12:33:30 -0500
Does anyone have words of wisdom regarding differences in TBrowse between 
Clipper and XBase++?  I am just looking for other experiences on differences 
and not any solutions to the following items.

I have already found that :RefreshAll() is a runtime error in XBase++ if the 
columns are not already added.

I am also seeing poor scroll performance.  I am wondering if Clipper was 
buffering the visible column results internally while XBase++ is getting the 
results from the column for every screen draw.

Finally, I have seen cases where the TBrowse thinks that it is stable, yet 
the screen has rows missing.  This seems to occur is a scroll arrow is 
processed prior to the previous scroll being stable.

Any other items to consider?

Rodd
AUGE_OHRRe: TBrowse experience
on Wed, 07 Sep 2005 22:42:46 +0200
hi,

> I have already found that :RefreshAll() is a runtime error in XBase++ if
the
> columns are not already added.

does it make sence to :RefreshAll() before you have the hole TBrowse ?

> I am also seeing poor scroll performance.  I am wondering if Clipper was
> buffering the visible column results internally while XBase++ is getting
the
> results from the column for every screen draw.

i think it it the oCrt itself which is not very quick ... but XbpBrowse is
much
slower ( you can see every column draw from left  top to right  bottom on
a Celeron 500 )

> Finally, I have seen cases where the TBrowse thinks that it is stable, yet
> the screen has rows missing.  This seems to occur is a scroll arrow is
> processed prior to the previous scroll being stable.

this most happend in this case :

      DISPBEGIN()
      DO WHILE (nKey := INKEY()) == 0 .AND. !oBrowse:stabilize()

try to "split it" into

      DISPBEGIN()
      DO WHILE (nKey := INKEY(0.01)) == 0
         IF oBrowse:stabilize()
            EXIT
         ENDIF
      ENDDO
      DISPEND()
      IF oBrowse:stable

> Any other items to consider?

yes, sometimes problem using "oBrowse:autoLite := .F." with
oBrowse:COLORRECT( {oBrowse:ROWPOS, 1, oBrowse:ROWPOS, oBrowse:COLCOUNT},
{ 2, 1 })
oBrowse:HILITE() / oBrowse:DeHILITE()
when try to use up-arrow/down-arrow (work with pgup / pgdown )

... but it is very easy to migrate TBrowse into XbpBrowse and i got a class
from Diego for this Problem 

greetings by OHR
Jimmy
Michael HoffmannRe: TBrowse experience
on Fri, 09 Sep 2005 12:10:50 +0200
Hello Rodd,

I attach a sample of Cockpit GUI's browse prototype. You can pass two parameters to the executable file:
The dbf filename and an optional ntx filename. Resizing is a lot smoother and it does not create a window for
every column. You can resize and move columns if you like. It's based on the standard ListView control, I
don't use any ActiveX stuff in it. You'll need some Dlls to run it. You can use the ones in the "Cockpit
Com Server Demo" you can download from www.comparcomputer.com.

Best regards,

Michael. 




dbfb.zip