Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.31;
Скачать: CL | DM;

Вниз

TObjectList   Найти похожие ветки 

 
Simon   (2004-10-18 08:44) [0]

Я добавляю в список:
procedure TCoverListType.Add(Bmp: TBitMap);
begin
i:= ObjectList.Add(TJPEGImage.Create);
TJPEGImage(ObjectList.items[i]).assign(bmp);
TJPEGImage(ObjectList.items[i]).CompressionQuality:= 50;
TJPEGImage(ObjectList.items[i]).Compress;
end;
Очищаю список:

procedure TCoverListType.Clear;
begin
ObjectList.Clear;
end;

Все работает, но XP инспектор показывает что память не освобождается, подскажите в чем проблема?


 
Warlock ©   (2004-10-18 08:50) [1]

Создавал объекты вручную и удаляй так же

procedure TCoverListType.Clear;
var i: Integer;
begin
for i:=0 to ObjectList.Count-1 do
TJPEGImage(ObjectList[i]).Free;
ObjectList.Clear;
end;


 
MBo ©   (2004-10-18 09:09) [2]

посмотри на свойство OwnsObjects


 
Гаврила ©   (2004-10-18 09:45) [3]


> [1] Warlock ©


При OwnsObjects = True такой код вызовет двойное освобождение

Автору
XP инспектор - это что такое? Может врет просто ,или может он не предназначен для отслеживания таких моментов?

просто проверь ,вызываются ли деструкторы при clear


 
Amoeba ©   (2004-10-18 12:08) [4]

Чтобы при вызове ObjectList.Clear объекты уничтожались необходимо выставить OwnsObjects в True. Иначе уничтожать их ручками.
F1, RTFM

P.S. Утечки памяти нужно отслеживать не утилитами из ОС, а только специальными отладчиками, например MemProof.



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

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

Наверх




Память: 0.47 MB
Время: 0.056 c
3-1096975889
Yagovdik
2004-10-05 15:31
2004.10.31
DBGrid и скроллер (мышиный)


1-1097819932
фывапро
2004-10-15 09:58
2004.10.31
компиляция проекта


14-1097652412
AlexG
2004-10-13 11:26
2004.10.31
Мысли программиста (дурацкие)


9-1088370695
NailMan
2004-06-28 01:11
2004.10.31
Новый ГУЙ в техно-демке Universal Traveller


14-1097204040
КаПиБаРа
2004-10-08 06:54
2004.10.31
Где хранить инфу о версии (формате) базы