![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]А код Работы с памятью?