Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.04 c
1-1097670469
sergg
2004-10-13 16:27
2004.10.31
Ошибка при закрытиии динамического массива


9-1088381001
Xerx
2004-06-28 04:03
2004.10.31
OpenGL без VCL


4-1095089621
ONIM
2004-09-13 19:33
2004.10.31
Загрузка DLL


1-1097635783
Elman
2004-10-13 06:49
2004.10.31
Проблема с компиляцией. Прошу совета!


3-1096880740
Начинающий освоение БД
2004-10-04 13:05
2004.10.31
Массив в поле таблицы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский