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

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

Удалить PBitmap


Igit ©   (2003-12-06 06:55:00) 

создается она так NewBitmap(width, height); а ужадяется как?


Igit   (2003-12-09 08:37:00) [1]

Спасибо большое.


Vladimir Kladov   (2003-12-07 15:41:00) [2]

PBmp := nil;
 PBmp := NewBitmap(wIp, hIp);
 Ipict.get_Handle(oh);
<<<<<<<<<<<<< не знаю, чего это

 PBmp.Handle := oh;
 PBmp.SaveToFile(dest);
 Pbmp.ReleaseHandle;
<<<<<<<<<<<< а вот так делать точно не надо.

 Pbmp.Free;

ReleaseHandle "отрывает" хэндл от объекта, и после этого оторванный хэндл кто-то должен освободить DeleteObject. Либо не надо отрывать, и он тогда автоматически освободится.


miek   (2003-12-07 14:51:00) [3]

Ну здрасте! А убирать хендл самого PBMP перед тем, как в него что-то присваивать - то Пушкин будет?


Igit   (2003-12-07 10:33:00) [4]

Так он освобождается. MemProf показывает что битмапы у меня создаются, и их все больше и больше, т.е. они не удаляются. Вот отрывок кода:
  PBmp := nil;
  PBmp := NewBitmap(wIp, hIp);
  Ipict.get_Handle(oh);
  PBmp.Handle := oh;
  PBmp.SaveToFile(dest);
  Pbmp.ReleaseHandle;
  Pbmp.Free;


SPeller   (2003-12-06 09:35:00) [5]

.Free;


Наверх

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