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

Вниз

HeapMM, KOl и строки   Найти похожие ветки 

 
earl Grey ©   (2004-04-28 08:40) [0]

Есть кострукция типа:

 PSomeListItem=^TSomeListItem  
 TSomeListItem = object(TObj)
   Num: DWORD;
   Name: string;
   Path: string;
 ...
 ..
 end;

В коде я делаю много раз New... Free для таких item"ов. Все в порядке пока не работаю со строковыми полями. Как только начинаю трогать string"и
- течет память(и по MemProof"у и по TaskManager"у видать).

Залечил временно так - перед тем как вызвать Free всем таким полям присваиваю пустую строку. Вроде не течет.
Собс-но вопрос: Так и надо или я где-то чего-то не доглядел


 
Gandalf ©   (2004-04-28 13:12) [1]

А код Работы с памятью?


 
Solik ©   (2004-04-28 15:22) [2]

А может попробовать shortstring или string[скока надо]


 
mdw ©   (2004-04-28 15:51) [3]

Да, я давно заметил, что строковым полям в объектах, перед разрушением, нужно присваивать "". Иначе память утекает. Это в деструкторе делать хорошо.


 
Владимир Кладов   (2004-04-28 16:50) [4]

так и должно быть. Poor Pacal object сам ничего не делает со своими полями, все работа ложится на программиста, который в деструктре пишет освобождение для всех объектов и строк.


 
earl Grey ©   (2004-04-28 18:39) [5]

Уже собрался код постить, а тут Владимир все и обьяснил. Кстати c shortstring"ом Poor Pascal object сам справляется. Только что проверил.


 
Solik ©   (2004-04-29 07:52) [6]

Дык имхо он shortstring кажется не в динамической памяти создает



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

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

Наверх




Память: 0.45 MB
Время: 0.039 c
14-1100248016
Koala
2004-11-12 11:26
2004.11.28
Модем внутренний, полный


6-1095615844
Reolik
2004-09-19 21:44
2004.11.28
FTP Server


1-1100190583
Igit
2004-11-11 19:29
2004.11.28
Напомните как метки ставить


1-1100194243
xkiller
2004-11-11 20:30
2004.11.28
Копирование из Memo текста на русском


14-1099938256
Andy BitOff
2004-11-08 21:24
2004.11.28
PHP-скрипт





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский