FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Última versión de FWH. Pérdida de memoria.
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Última versión de FWH. Pérdida de memoria.
Posted: Fri Feb 22, 2013 12:53 PM

En este hilo del foro inglés se trata la perdida memoria

viewtopic.php?f=3t=25568

Allí se dan las soluciones para resolver este bug. Porqué no se publica también en el foro español ???

&

Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: Última versión de FWH. Pérdida de memoria.
Posted: Fri Feb 22, 2013 01:35 PM
Horario,

El fix ya está incluido en FW 13.02:

FWH\source\function\fwbmp.c
Code (fw): Select all Collapse
void TransBmp( HBITMAP hBitmap, int iXsize, int iYsize,
               COLORREF rgbTransparent, HDC hDC,
               int iXOffset, int iYOffset, int iWidth, int iHeight )
{
  HDC mDC, nDC;
  HBITMAP hMask, hBmOld1, hBmOld2;

  mDC = CreateCompatibleDC( hDC );
  
  if( mDC )
  {
    hBmOld1 = ( HBITMAP ) SelectObject( mDC, hBitmap );

    hMask = CreateBitmap( iXsize, iYsize, 1, 1, NULL );
    
    if( hMask )
    {
       nDC = CreateCompatibleDC( hDC );
        
       if( nDC )
       {
          hBmOld2 = ( HBITMAP ) SelectObject( nDC, hMask );
          SetBkColor( mDC, rgbTransparent );

          BitBlt( nDC, 0, 0, iXsize, iYsize, mDC, 0, 0, SRCCOPY );

          SetStretchBltMode( hDC, COLORONCOLOR );

          StretchBlt( hDC, iXOffset, iYOffset, iWidth, iHeight,
                      mDC, 0, 0, iXsize, iYsize,
                      SRCINVERT );

          StretchBlt( hDC, iXOffset, iYOffset, iWidth, iHeight,
                      nDC, 0, 0, iXsize, iYsize,
                      SRCAND );

          StretchBlt( hDC, iXOffset, iYOffset, iWidth, iHeight,
                      mDC, 0, 0, iXsize, iYsize,
                      SRCINVERT );

          SelectObject( nDC, hBmOld2 );
          DeleteDC( nDC );
        }
        DeleteObject( hMask );
    }
    SelectObject( mDC, hBmOld1 );
    DeleteDC( mDC );
  }
}



Es una buena noticia que ya lo tengamos resuelto.
Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Última versión de FWH. Pérdida de memoria.
Posted: Fri Feb 22, 2013 01:52 PM

No se trataba de una perdida de memoria, sino de un buffer no inicializado, que además no hacia falta. Y ya se ha corregido.

Pero no habia perdida alguna de memoria :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Última versión de FWH. Pérdida de memoria.
Posted: Fri Feb 22, 2013 08:00 PM

Gracias Antonio y Lucas por responder. Antonio, solo copié el título del hilo en inglés, sabía que no era una pérdida de memoria. Trabajo con la versión FWH 12.04 y en una de mis aplicaciones tenía la pérdida de bitmaps. Mi reclamo, por llamarlo de alguna manera, es que si la solución se desarrolla en el foro en inglés también se publique en el foro español. NO todo el hilo pero si el código que soluciona este problema. Era solo eso. Muchas gracias nuevamente.

Saludos

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Última versión de FWH. Pérdida de memoria.
Posted: Sat Feb 23, 2013 02:38 PM

Horacio,

tienes toda la razón, tendría que haber comentado la solución en el foro en español tambien :-)

gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion