Antonio, Encontrado el problema; resulta que yo utilizo una RPreview modificada por algun compañero del foro, siento no recordar el nombre; es una RPreview que lleva una TListView con las miniaturas de las paginas. Pues bien, he puesto la preview original de fwh y YA NO HAY CONSUMO DE MEMORIA !! Muc...
Antonio, RESPUESTA 1: Pues siento decirte que creo que NO es la StretchDIBits() porque si modifico lo que me has mandado y pongo: ...// if( ( wWidth == 0 ) || ( wHeight == 0 ) ) if( 1 ) SetDIBitsToDevice( hDC, wCol, wRow, lpBmp->biWidth, ...
Antonio, Bueno, lo importante es que ya sabemos de donde viene el problema: función StretchDIBits(). Ahora pensemos una estrategia... Miremos por ejemplo el código que use Wine para la función StretchDIBits(): http://cvs.winehq.org/cvsweb/wine/dlls/gdi/Attic/dib.c?rev=1.22&co...
A. de Antonio :D He puesto el codigo que me has enviado y he probado y todo sigue igual (sigue consumiendo memoria). Luego he probado a comentar la StretchDIBits( ) y entonces he observado que NO pinta nada pero NO consume memoria. // StretchDIBits( hDC, wCol, wRow...
A. (Antonio, Adolfo, Alfonso... ?) :-) Prueba a implementar la función DibDraw() en tu aplicación y asi puedes hacerle modificaciones. Añade este código al final de tu PRG principal: #pragma BEGINDUMP#include <windows.h>#include <hbapi.h>static LPSTR DibBits( LPBITMAPINFOHEADER lpBmp...
Antonio, La memoria, además de con GlobalMemoryStatusEx(), lo compruebo con una utilidad externa. Ambos devuelven siempre el mismo %, con lo que imagino que esta bien. En todo caso, cuando la carga de memoria es muy alta..., no se el %, entonces empieza a no pintar los bitmaps, como si no tuviese me...
Antonio, A. Podemos seguir haciendo otras pruebas. Comenta esta línea y prueba a ver si hay algún cambio: // DibDraw( ::hDCOut, hDib, hPalette, nRow, nCol,; // nWidth, nHeight, nRaster ) gracias Comentando la funcion DibDraw(): NO dibuja nada y NO hay escape de memoria Me encantaria seguir haciendo ...