XBrowse metodo ChangeBitmap() pierde recursos

XBrowse metodo ChangeBitmap() pierde recursos

Postby manuelcalerosolis » Thu Jan 29, 2015 12:52 pm

Analizando la perdida de recursos en mi app, chkres me dice q en este método deja bitmaps por liberar.

Si comento el código de llamada a ese método la perdida de recursos desaparece.

Os dejo aki el código del método q menciono, por si alguien puede ver de manera rápida, q es lo q pasa.

//------------------------------------------------------------------------------

METHOD ChangeBitmap( ) CLASS TXBrwColumn // BtnGet

if ::nBtnBmp > 0 .and. len( ::aBitmaps ) >= ::nBtnBmp
::oBtnElip:hBitmap1 := ::aBitMaps[::nBtnBmp, BITMAP_HANDLE ]
::oBtnList:hBitmap1 := ::aBitMaps[::nBtnBmp, BITMAP_HANDLE ]
::oBtnElip:cCaption := ""
else
::oBtnElip:hBitmap1 := 0
::oBtnList:hBitmap1 := 0
::oBtnElip:cCaption := "..."
endif

::oBrw:refresh()

return nil

//----------------------------------------------------------------------------//

Saludos.
User avatar
manuelcalerosolis
 
Posts: 149
Joined: Mon Oct 10, 2005 9:30 am
Location: Huelva - Spain

Re: XBrowse metodo ChangeBitmap() pierde recursos

Postby nageswaragunupudi » Fri Jan 30, 2015 9:33 am

Thanks for pointing out the problem.

Please modify the function like this:
Code: Select all  Expand view
METHOD ChangeBitmap( ) CLASS TXBrwColumn // BtnGet

  if ::nBtnBmp > 0 .and. len( ::aBitmaps ) >= ::nBtnBmp
      DeleteObject( ::oBtnList:hBitmap1 )   // ---------------------------- NEW
      ::oBtnElip:hBitmap1 := ::aBitMaps[::nBtnBmp, BITMAP_HANDLE ]
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10316
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: XBrowse metodo ChangeBitmap() pierde recursos

Postby manuelcalerosolis » Thu Feb 05, 2015 9:31 am

Creo q deberia de quedar asi no?


METHOD ChangeBitmap( ) CLASS TXBrwColumn // BtnGet

if ::nBtnBmp > 0 .and. len( ::aBitmaps ) >= ::nBtnBmp
DeleteObject( ::oBtnElip:hBitmap1 )
::oBtnElip:hBitmap1 := ::aBitMaps[::nBtnBmp, BITMAP_HANDLE ]
DeleteObject( ::oBtnList:hBitmap1 )
::oBtnList:hBitmap1 := ::aBitMaps[::nBtnBmp, BITMAP_HANDLE ]
::oBtnElip:cCaption := ""
else
::oBtnElip:hBitmap1 := 0
::oBtnList:hBitmap1 := 0
::oBtnElip:cCaption := "..."
endif

::oBrw:refresh()

return nil
User avatar
manuelcalerosolis
 
Posts: 149
Joined: Mon Oct 10, 2005 9:30 am
Location: Huelva - Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 31 guests