Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите , где грабли ! Пожалуйста [D6]


Polluks ©   (2002-12-20 13:48:00) 

Этот код работает на таймере и спустя 125 циклов валится ошибка недостаточно памяти.
var
bmp: TBitmap;
jpgImg: TJPEGImage;
begin
bmp := TBitmap.Create;
try
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
GetDC(GetDesktopWindow), 0, 0, SRCCopy);
Clipboard.Assign(bmp);
finally
bmp.Free;
end;
Image1.Picture.Bitmap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
jpgImg := TJPEGImage.Create;
jpgImg.Assign(Image1.Picture.Bitmap);
jpgImg.SaveToFile(‘c:\screen+".jpg");
end;


Diamond Cat   (2002-12-21 14:20:00) [1]

да вобщем и tbitmap надо освобождать, и вообще надо взять за правило , что все что насоздавал сам , сам и рушишь


Diamond Cat   (2002-12-21 14:20:00) [2]

ой звиняй битмап ты освобождаешь


Polluks   (2002-12-20 15:03:00) [3]

Спасибо брателло.


Digitman   (2002-12-20 13:55:00) [4]

На пара граблей ты уж точно наступаешь)

1. Нет ReleaseDC() после GetDC()
2. Нет jpgImg.Free после jpgImg := TJPEGImage.Create;


Наверх

Титульная страница Поиск, карта сайта Написать письмо