Estimado Antonio,
El problema que se me ha presentado y por el que te consulto es el siguiente:
Cuando intento ejecutar varios xBrowses de diferentes Bases en un mismo dialog ocurre que solo funciona el que corresponde solo al area activa, los demas fallan y me muestran solamente el primer registro de la base de datos repetido al infinito.
Cuando cambio el area activa (dbselectarea()) el xbrowse correspondiente a la misma comienza a funcionar y los otros fallan
No se si estoy haciendo algo mal o si me falta algo en el codigo, ya probe todo lo que se me ocurrio y nada funciona.
Te adjunto el codigo para que lo veas y puedas orientarme ya que no quiero tener que recurrir a lo unico que me queda que es usar un solo xbrowse y los demas con twbrowse.
Desde ya agradecido por tu ayuda
Raul Luis Terraz
......................................................
#include "FIvewin.ch"
#include "xbrowse.ch"
STATIC oDlg,oSay,oGet,oBtn,oDbf,oBrw,oBrw1,oCol,oLbx
STATIC oMeter,nVal:=0
MEMVAR oP,oFbold,oFbig
//------------------------------------------
Function Multibrowse()
Dbusearea(.t.,,"\winfarma\wfmovpro",,.t.)
OrdListAdd("wfmovpro")
Ordsetfocus("fecha")
Dbusearea(.t.,,"\winfarma\wfprodu",,.t.)
OrdListAdd("wfprodu")
Ordsetfocus("descri")
DEFINE DIALOG oDlg RESOURCE "browse2" TITLE "MULTI BROWSE" OF oWnd
oBrw := TXBrowse():New( oDlg ) <- ESTE FUNCIONA CORRECTAMENTE
oBrw:nMarqueeStyle := 5
oBrw:nColDividerStyle := 1
oBrw:nRowDividerStyle := 1
oBrw:lColDividerComplete :=.F.
oBrw:nHeaderLines := 2
oBrw:bClrStd := {|| {CLR_BLACK,CLR_WHITE}}
//.... Columnas
oCol := oBrw:AddCol()
oCol:nWidth:=80
oCol:bStrData := { || cvaltochar(wfprodu->troquel) }
oCol:nDataStrAlign:= 2
oCol:cHeader := "TROQUEL"
oCol := oBrw:AddCol()
oCol:nWidth:=80
oCol:bStrData := { || cValtochar(wfprodu->codbarra) }
oCol:cHeader := "CODIGO"+CRLF+"BARRAS"
oCol := oBrw:AddCol()
oCol:nWidth:=200
oCol:bStrData := { || wfprodu->descrip }
oCol:cHeader := "PRODUCTO"
oCol := oBrw:AddCol()
oCol:nWidth:=60
oCol:bStrData := { || wfprodu->laborat }
oCol:nDataStrAlign:= 2
oCol:cHeader := "LABORATORIO"+CRLF+"FACT"
oCol := oBrw:AddCol()
oCol:nWidth :=100
oCol:bStrData := { || transf(wfprodu->prelis,"99,999,999.99") }
oCol:nDataStrAlign:= 1
oCol:cHeader := "PRECIO DE"+CRLF+"LISTA"
oBrw:lHScroll:=.t.
oBrw:lVScroll:=.t.
oBrw:lFooter :=.t.
oBrw:SetRDD()
oBrw:CreateFromResource(4001)
//..................................................
oBrw1 := TXBrowse():New( oDlg ) <- ESTE FALLA
oBrw1:nMarqueeStyle := 5
oBrw1:nColDividerStyle := 1
oBrw1:nRowDividerStyle := 1
oBrw1:lColDividerComplete :=.F.
oBrw1:nHeaderLines := 2
oBrw1:bClrStd := {|| {CLR_BLACK,CLR_WHITE}}
//.... Columnas
oCol := oBrw1:AddCol()
oCol:nWidth:=70
oCol:bStrData := { || cvaltochar(wfmovpro->numfac) }
oCol:nDataStrAlign:= 2
oCol:cHeader := "NUMERO"
oCol := oBrw1:AddCol()
oCol:nWidth:=60
oCol:bStrData := { || dtoc(wfmovpro->fecha) }
oCol:cHeader := "FECHA"
oCol := oBrw1:AddCol()
oCol:nWidth:=200
oCol:bStrData := { || wfmovpro->producto }
oCol:cHeader := "PRODUCTO"
oCol := oBrw1:AddCol()
oCol:nWidth:=40
oCol:bStrData := { || cvaltochar(wfmovpro->cant) }
oCol:nDataStrAlign:= 2
oCol:cHeader := "CANT"
oBrw1:lHScroll:=.t.
oBrw1:lVScroll:=.t.
oBrw1:lFooter :=.t.
oBrw1:SetRDD()
oBrw1:CreateFromResource(4002)
REDEFINE BTNBMP RESOURCE "b_top" ID 4003 OF oDlg ACTION (sound(),oBrw:GoTop(),oBrw:refresh(),oBrw:setfocus()) ;
TOOLTIP "IR AL INICIO"
REDEFINE BTNBMP RESOURCE "b_bottom" ID 4004 OF oDlg ACTION (sound(),oBrw:GoBottom(),oBrw:refresh(),oBrw:setfocus()) ;
TOOLTIP "IR AL FINAL"
REDEFINE BTNBMP RESOURCE "b_fin" ID 4005 OF oDlg ACTION (sound(),oDlg:end()) ;
TOOLTIP "SALIR"
ACTIVATE DIALOG oDlg CENTERED
dbcloseall()
return NIL