![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удалить 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;