This is working well for me here
function TestTip()
local oDlg, oFont, oBrw
USE CUSTOMER
DEFINE DIALOG oDlg SIZE 600,500 PIXEL
@ 10,10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
DATASOURCE "CUSTOMER" AUTOCOLS ;
CELL LINES NOBORDER
oBrw:bToolTips := ;
{ | oBrw,r,c,f,oMouseCol,nMouseRow| MyColToolTip( oBrw,r,c,f,oMouseCol,nMouseRow ) }
oBrw:CreateFromCode()
ACTIVATE DIALOG oDlg CENTERED
return nil
//----------------------------------------------------------
Function MyColToolTip( oBrw, r, c, f, oMouseCol, nMouseRow )
local uBm, uVal
if nMouseRow != oBrw:nRowSel
uBm := oBrw:BookMark
Eval( oBrw:bSkip, nMouseRow - oBrw:nRowSel )
uVal := oMouseCol:Value
oBrw:BookMark := uBm
else
uVal := oMouseCol:Value
endif
return cValToChar( uVal )
Instead of oCol:bToolTip, I assigned the codeblock to oBrw:bToolTips. This is the shortcut to assign the same codeblock to all columns in a single statement.
I am able to see the correct tool tips for all columns and there are no errors. Please try the above example just as it is. You may use any DBF.
Some advices though not relating to this:
bStrData has been deprecated many years back.
You can enjoy all the power and all features of xbrowse only when you use the command sytnax.
You have full liberty not to use the command syntax but at the cost of not using all features and full power of xbrowse.