FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Liberar memoria del HDC
Hola a todos.
En un código que me facilitó delphi.com.ar -------------------------------------------------------------------------------- var hBmp : HBITMAP; Bmp : TBitmap; begin ... hBmp := CreateDIBitmap( GetWindowDC(GetDesktopWindow()), ... ); Bmp := TBitmap.Create; Try Bmp.Handle := hBmp; Bmp.SaveToFile( 'c:\...' ); finally Bmp.Free; end; -------------------------------------------------------------------------------- me encontré que en cada iteración del bucle se consumían 4 Kb de memoria. La primera solución que me vino fué utilizar la función CreateDC: ---------------------------------------------------------------------- var MiDC : HDC ....... MiDC:=CreateDC('display',0,0,0) hBmp := CreateDIBitmap( MiDC, ... ); DeleteDC(MiDC) ----------------------------------------------------------------------- Espero que si alguien se encuentra con ese problema pueda encontrar la solución aquí. Un Saludo
__________________
Disclaimer (no sé cómo se traduce pero los yankis lo ponen en toas partes- Debe ser algo así como me desentiendo de...). Lo anteriormente expresado es una mera opinión y no está sujeta a garantía de ningún tipo. Vamos, que es lo que me parece, me ha funcionado o he visto/leido, pero que me funcione a mí no quiere decir que te funcione a tí. |
|
|
|