Главная страница
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.47 MB
Время: 0.025 c
14-1100453991
Саша
2004-11-14 20:39
2004.11.28
GIF


9-1091044622
XDev
2004-07-28 23:57
2004.11.28
Ускорение отрисовки полигона


1-1100474931
Германн
2004-11-15 02:28
2004.11.28
Не могу сформулировать!


14-1099980132
syte_ser78
2004-11-09 09:02
2004.11.28
Есть ли компонент?


1-1100454101
novice_man
2004-11-14 20:41
2004.11.28
Присваивание или копирование?