Esta es la manera como definimos el xbrowse
El problema empezó a suceder cuando compilamos la aplicación con FW2409_64 bits, hicimos la prueba con la versión anterior en 32 bits y no se generar el inconveniente.
Code: Select all | Expand
@ 100, 5 XBROWSE oBrw ;
SIZE 385 ,160 OF oSelf:oDlgSpt PIXEL ;
LINES STYLE FLAT NOBORDER ;
DATASOURCE ::aRspNm AUTOCOLS
ReArrangeCols( oBrw, ::aCols1 )
WITH OBJECT oBrw
:lRecordSelector := .T.
:lHScroll := .T.
:lVScroll := .T.
:l2007 := .F.
:lFitGridHeight := .T.
:nHeaderHeight := 21
:nRowHeight := 21
:nMarqueeStyle := MARQSTYLE_HIGHLROW
:lColDividerComplete := .t.
:nColorPen := CLR_HGRAY
:lFullGrid := .T.
:nStretchCol := STRETCHCOL_LAST
:bClrHeader := { || { CLR_WHITE, oLamcla:nClrBrwCab, CLR_HGRAY } }
:lFooter := .t.
:nFooterLines := 1
:nFooterHeight := 25
:nFreeze := 4
//:bRClicked := {|nRow, nCol | if(!::lNueva,::mRegNomi( nRow,nCol,oBrw, cbModi, cbEnv, cnImpPg, cbNaj, cbAgre, cnEDian, cbBrCmp, cbElm, ::aRspNm[oBrw:nArrayAt]["rfidnm"] ),) }
:bRClicked := {|nRow, nCol | ::mRegNomi( nRow,nCol,oBrw, cbModi, cbEnv, cnImpPg, cbNaj, cbAgre, cnEDian, cbBrCmp, cbElm, ::aRspNm[oBrw:nArrayAt]["rfidnm"] ) }
:bKeyDown := {|nKey,oGet,nCol|::TecItemNomi(nKey,oGet,nCol, cbModi, cbEnv, cnImpPg, cbNaj, cbAgre, cnEDian, cbGraba, cbElm, ::aRspNm[oBrw:nArrayAt]["rfidnm"])}
:nRecSelColor := RGB( 255, 255, 255 )
:bClrStd := {|| if(Len( ::aRspNm ) > 0 , ;
{ CLR_BLACK,clrEstFondo(::aRspNm[oBrw:nArrayAt]["estado"]) } ,;
{ CLR_BLACK,clrEstFondo("S") } ) }
:bClrSelFocus := {|| if(Len( ::aRspNm ) > 0 , ;
{ CLR_WHITE,clrEstSelec(::aRspNm[oBrw:nArrayAt]["estado"]) } ,;
{ CLR_WHITE,clrEstSelec("S") }) }
:SetFont( oFont1Cja )
END
WITH OBJECT oBrw
//Colocamos los titulos a las columnas
FOR j:=1 TO len(::aColTt)
:aCols[j]:cHeader := ::aColTt[j]
:aCols[j]:oHeaderFont = oFontCja
NEXT
//Ahora las especiales
:aCols[2]:cFooter = "Nro.Comp » "+alltrim(transform(len(::aRspNm),oLamcla:PIC3))
:aCols[2]:oFooterFont := oFontCja
:aCols[3]:cFooter = "TOTALES »"
:aCols[3]:oFooterFont := oFontCja
:aCols[6]:bClrStd := {|| { _CLR_GRIS, if(Len( ::aRspNm ) > 0 , colorEstado2_nm( ::aRspNm[oBrw:nArrayAt]["estado"] , ::aRspNm[oBrw:nArrayAt]["rfidnm"] ),) } }
:aCols[6]:bClrSelFocus := {|| { CLR_WHITE,if(Len( ::aRspNm ) > 0 ,colorEstado_nm( ::aRspNm[oBrw:nArrayAt]["estado"] , ::aRspNm[oBrw:nArrayAt]["rfidnm"] ),) } }
:aCols[6]:bStrData := { || if(Len( ::aRspNm ) > 0 , nombreEstado_nm( ::aRspNm[oBrw:nArrayAt]["estado"] ) , ::aRspNm[oBrw:nArrayAt]["rfidnm"] ) }
:aCols[nColDev]:oFooterFont := oFontCja
:aCols[nColDev]:bClrStd = {|| {Rgb(55,55,55),nRGB(212,212,212) } }
:aCols[nColDev]:bClrSelFocus = {|| {CLR_WHITE,nRGB(139,139,139) } }
:aCols[nColDed]:oFooterFont := oFontCja
:aCols[nColDed]:bClrStd = {|| {Rgb(55,55,55),nRGB(255,187,187) } }
:aCols[nColDed]:bClrSelFocus = {|| {CLR_WHITE,nRGB(255,117,117) } }
:aCols[nColPag]:oFooterFont := oFontCja
:aCols[nColPag]:bClrStd = {|| {Rgb(55,55,55),nRGB(187,255,187) } }
:aCols[nColPag]:bClrSelFocus = {|| {CLR_WHITE,nRGB(0,210,0) } }
//Colocamos los totales en donde sea necesario
//y tambien ajustamos el ancho de las columnas
FOR i:=1 TO len(::aColTl)
if ::aColTl[i]
:aCols[i]:nFooterType := AGGR_SUM
:aCols[i]:cFooterPicture := oLamcla:PIC7
:aCols[i]:cEditPicture := oLamcla:PIC7
:aCols[i]:oFooterFont := oFontCja
endif
:aCols[i]:nWidth = ::aColAn[i]
NEXT
:MakeTotals()
//Dejamos fija la columna en la derecha
:oRightCol := :aCols[nColPag]
END
oBrw:CreateFromCode()