Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

HeapMM, KOl и строки


earl Grey ©   (2004-04-28 08:40:00) 

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

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

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

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


Solik   (2004-04-29 07:52:00) [1]

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


earl Grey   (2004-04-28 18:39:00) [2]

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


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

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


mdw   (2004-04-28 15:51:00) [4]

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


Solik   (2004-04-28 15:22:00) [5]

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


Gandalf   (2004-04-28 13:12:00) [6]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо