Última versión de FWH. Pérdida de memoria.

Última versión de FWH. Pérdida de memoria.

Postby horacio » Fri Feb 22, 2013 12:53 pm

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

viewtopic.php?f=3&t=25568

Allí se dan las soluciones para resolver este bug. Porqué no se publica también en el foro español ???
horacio
 
Posts: 1358
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Última versión de FWH. Pérdida de memoria.

Postby lucasdebeltran » Fri Feb 22, 2013 1:35 pm

Horario,

El fix ya está incluido en FW 13.02:

FWH\source\function\fwbmp.c
Code: Select all  Expand view
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.
User avatar
lucasdebeltran
 
Posts: 1303
Joined: Tue Jul 21, 2009 8:12 am

Re: Última versión de FWH. Pérdida de memoria.

Postby Antonio Linares » Fri Feb 22, 2013 1: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
User avatar
Antonio Linares
Site Admin
 
Posts: 41381
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Última versión de FWH. Pérdida de memoria.

Postby horacio » Fri Feb 22, 2013 8: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
horacio
 
Posts: 1358
Joined: Wed Jun 21, 2006 12:39 am
Location: Capital Federal Argentina

Re: Última versión de FWH. Pérdida de memoria.

Postby Antonio Linares » Sat Feb 23, 2013 2: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
User avatar
Antonio Linares
Site Admin
 
Posts: 41381
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 83 guests