Вниз
Скачать: CL | DM;

Куда то ресурсы   Найти похожие ветки 

 
Oleg_   (2003-11-10 15:18) [0]

В программе создается изображение и уже даже не используется, затем удаляется объект владелец.
Но даже при создании изображения есть проверка и при необходимости старое изображение удаляется.
При повторных созданиях, использованиях изображения проявляется закономерная нехватка ресурсов.
Что же не учтено?

var image_profil:timage;

...

if image_profil<>nil then begin
image_profil.Free;
image_profil:=nil;
end;
image_profil:=timage.Create(nil);
image_profil.Transparent:=true;
image_profil.Picture.Bitmap.TransparentMode:=tmAuto;
with image_profil.Picture.Bitmap do
begin
Height:=3000;//
Width:=700;//именно здесь : не хватает
//ситемной памяти
end;
//Если высота 3000 то ошибка выдается при втором заходе,
//если высота рис 1900 то при третьем заходе,
//если высота 1300 то при четвертом


 
panov ©   (2003-11-10 15:57) [1]

У тебя не показан код освобождения ресурсов.
Попробуй добавить перед Free вот такую строку - image_profil.Picture.Bitmap.Dormant;


 
Oleg_   (2003-11-10 16:13) [2]

panov ©
Пробовал
image_profil.Picture.Bitmap.Dormant;
то же самое.

Сам image_profill уже точно больше нигде не используется, я переименовал его добавив в конце l (image_profil->image_profill) и отследил все ссылки на него.

Проблема именно в этом участке кода, если в конце добавить
image_profill.Free;
image_profill:=nil;
т.е. сразу удалять image_profill все работает ОК
Буду копать деструктор объекта владельца, здесь ведь идет проверка перед созданием image, но походу он уже принадлежит другому объекту, так?


 
panov ©   (2003-11-10 17:01) [3]

Так у тебя ведь объекто создается таким образом, что у него нет владельца(timage.Create(nil)).
Вот если укажешь при создании владельца, то тогда он должен уничтожатся вместе с ним.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
1-65993
Mouse
2003-11-10 15:38
2003.11.20
Как отучить TreeView менять у выделенного Node ImageIndex


1-65911
Кен
2003-11-07 03:39
2003.11.20
Как избежать подвисания программы, когда процедура выполняется


14-66099
Sergik!
2003-10-29 10:08
2003.11.20
Будильник


3-65737
IGORYOK
2003-10-30 19:17
2003.11.20
Как удобней хранить и в чём


7-66140
bloodman
2003-09-01 17:13
2003.11.20
Модем и тоновые команды




   Наверх