Maestro Antonio, maestro Rao, gurús de xBrowse....
En el siguiente ejemplo con FWH 20.07 al utilizar xBrowse con TArrayData y se define lIncrFilter como .T., se genera un error "Undefine function HB_WILDMATCH" al momento de intentar hacer una búsqueda o filtro. En el primer browse, que está con Base de datos, funciona perfecto. En el segundo, con TArrayData, se presenta el error.
He estado revisando el código de xBrowse.prg pero es demasiado riesgoso meterle la mano
Alguna sugerencia de cómo solucionarlo.
- Code: Select all Expand view RUN
- #include "FiveWin.ch"
Function Main()
LOCAL oDlg, oData, oBrw1, oBrw2
RddSetDefault("DbfCdx")
dbUseArea(.T.,,"Customer.dbf","Cust")
dbSetIndex("customer.cdx")
oData := TArrayData():New("Cust")
dbGoTop()
DEFINE DIALOG oDlg SIZE 900,500 PIXEL TITLE "xBrowse con TArrayData y Search"
// Funciona bien con TArrayData y :lIncrFilter := .T.
@ 05, 10 SAY "xBrowse con Base Datos y :lIncrFilter := .T., funciona bien" OF oDlg PIXEL
@ 30, 10 XBROWSE oBrw1 DATASOURCE "Cust" ;
COLUMNS "FIRST","LAST" ;
PIXEL CELL LINES NOBORDER AUTOSORT AUTOCOLS SIZE 200,200
WITH OBJECT oBrw1
:lAutoSort := .T.
:lIncrFilter := .T. // causa err
:lSeekWild := .T.
:Seek("")
:bOnSort := { |b,oCol| oBrw1:GoTop() }
:CreateFromCode()
END
@ 17, 10 SAY oBrw1:oSeek PROMPT oBrw1:cSeek OF oDlg PIXEL SIZE 150,09 COLORS nRGB(0,0,0), nRGB(50,180,60)
// Error con TArrayData y :lIncrFilter := .T.
@ 05,230 SAY "xBrowse con TArrayData y :lIncrFilter := .T., genera error" OF oDlg PIXEL
@ 30,230 XBROWSE oBrw2 DATASOURCE oData ;
COLUMNS "FIRST","LAST" ;
PIXEL CELL LINES NOBORDER AUTOSORT AUTOCOLS SIZE 200,200
WITH OBJECT oBrw2
:lAutoSort := .T.
:lIncrFilter := .T. // *** Genera error cuando se define como .T.
:lSeekWild := .T.
:Seek("")
:bOnSort := { |b,oCol| oBrw2:GoTop() }
:CreateFromCode()
END
@ 17,230 SAY oBrw2:oSeek PROMPT oBrw2:cSeek OF oDlg PIXEL SIZE 150,09 COLORS nRGB(0,0,0), nRGB(50,180,60)
ACTIVATE DIALOG oDlg CENTERED
dbCloseall()
Return(nil)
//---------------------------------------------------------------------//
Gracias por su ayuda