Hola a todos
Después de mucho tiempo de nuevo acá, en otro intento por modernizar mi software.
Por favor si alguien me puede ayudar con esto:
En XBrowse (muy bueno!!!) incluyo columnas que muestran pequeños bitmaps, usando AddResource, y cuando esas columnas están visibles en el navegador, cada desplazamiento, de cualquier forma, aumenta el consumo de memoria (leído con administrador de tareas de Windows), de modo que si desplazo hacia abajo o hacia arriba el contador sube y sube.
Por otro lado, sin tocar nada, cuando oculto las columnas, el contador de consumo de memoria se congela, no sube sin importar cuanto navegue. Vuelvo a activar las columnas, y el contador vuelve a subir al navegar. Y es similar con 100, 1.000 o 20.000 registros.
Este es un código fuente de ejemplo, que funciona y presenta el problema indicado:
aCabe := { '', 'Aut', 'Seg' }
aData := { 'CLAVE', 'Au', 'Se' }
aPict := { '', '', '' }
aSize := { 150, 30, 30 }
cQry := 'Select CLAVE, CRAYON1 As Au, CRAYON2 As Se From MOVMAE Limit 2000'
oQry:= oMyCon:Rowset(cQry,.f.)
Define Dialog oDlg Resource 'BROXSDVD' Font oFontGral Title 'Prueba'
Redefine XBrowse oBrw ID 100 Of oDlg Update DataSource oQry Columns aData Headers aCabe ColSizes aSize Pictures aPict
add column to oBrw at 1 // inserté una columna para ejemplo, pero podría ser una existente...
oBrw:aCols[1]:AddResource( { 'COMUN_SELECC_NO', 'COMUN_SELECC_SI' } )
oBrw:aCols[1]:cHeader := '>'
oBrw:aCols[1]:cToolTip := 'Muestra'
oBrw:aCols[1]:nHeadStrAlign := 2 // (centrado)
oBrw:aCols[1]:nWidth := 30
oBrw:aCols[1]:cSortOrder := nil
oBrw:aCols[1]:bLClickHeader := { || '' }
oBrw:aCols[1]:lBmpStretch := .f.
oBrw:aCols[1]:lBmpTransparent := .t.
oBrw:aCols[1]:bBmpData := { || if( ascan( oBrw:aSelected, oBrw:BookMark ) > 0, 1, 2 ) }
oBrw:aCols[1]:bStrData := { || '' }
oBrw:aCols[1]:bEditValue := { || '' }
oBrw:aCols[1]:nDataBmpAlign := 2
oBrw:aCols[1]:cEditPicture := Nil
oBrw:aCols[1]:blDClickData := { || MiMsgInfo( 'probando' ) }
oBrw:aCols[1]:bClrStd := { || { CLR_BRWHT, CLR_BRWHB } }
Activate Dialog oDlg
RETURN NilHe probado mil cosas y no logro resolverlo.
Además, al salir del navegador, aunque haga release, end(), y asigne nil, aún así la cantidad de memoria consumida hasta el momento permanece (no baja, no libera).
Uso HB MSVSC + FWH 24.04 + MySQL/MariaDB/DBFCDX (64 bits)
Muchas gracias, que tengan un excelente fin de semana.
"Querer, saber y hacer, es poder"
HB MSVSC + FWH 24.04 + MySQL/MaríaDB/DBFCDX (64 bits)
https://zenitx.com