Комрады,вот функа Code: function ScreenCopy: TBitmap; var DC: HDC; ABitmap: TBitmap; begin DC := GetDC(GetDesktopWindow); ABitmap := TBitmap.Create; ABitmap.Width := GetDeviceCaps(DC, HORZRES); ABitmap.Height := GetDeviceCaps(DC, VERTRES); BitBlt(ABitmap.Canvas.Handle, 0, 0, ABitmap.Width, ABitmap.Height, DC, 0, 0, SRCCOPY); releasedc(GetDesktopWindow,DC); deletedc(dc); abitmap.Canvas.Free; Result := ABitmap; end; которая должна делать снапшот.Но в чем прикол,при каждом вызове жрется память,вроде уже убираю за собой как в мсдн посмотрел,а память все равно жрется.Если в конце делать abitmap.free; то снапшот не делается.Взгляните свежим оком что не так то?Как устранить эту проблему.
Тыже освободил уже обьект? А поч только поле освобождаеш? А если не освобождать перед возвращением рез-тата то кто ее осводит?
Если будешь использовать свою функцию примерно так, как ниже, тогда утечек не должно быть: Code: var b: TBitmap; begin b := ScreenCopy; ... b.Free; end; Строчка Code: abitmap.Canvas.Free; не нужна. А зачем?