Bug en los operadores fwh2409 xharbour 64 bits (solucionado)
Posted: Thu Jan 16, 2025 11:38 pm
Hola buenas tardes para todos, nos hemos encontrado con el problema que, en algunas ocasiones, xbrowse nos pinta ********* en algunos valores, no sabemos por qué se genera, no es siempre, como pueden ver en la imagen, se presenta en la columna Salario Devengado, es el mismo valor que está en la columna Salario Básico, pero en esta muestra los asteriscos, realmente esta super extraño.
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.
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()