Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.20;
Скачать: 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 вся ветка

Текущий архив: 2003.11.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-65725
Murder
2003-11-03 13:25
2003.11.20
Работа с Excel


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


4-66155
Zhirnov Maxim
2003-09-25 08:59
2003.11.20
Как определить версию Windows?


3-65736
man
2003-11-03 11:49
2003.11.20
помогите с селектом


1-65817
Ломброзо
2003-11-10 11:02
2003.11.20
VB ActiveX