Вниз
Скачать: CL | DM;

Освобождение памяти ?   Найти похожие ветки 

← →
Guerrillero Che ©   (2002-07-08 11:26) [0]

Привет!Когда заполняю TTreeView, то для каждой ветки заполняю св-во Data,т.е. указатель,в общем типа этого:
type PTTreeInformation=^TTreeInformation;
Data:PTTreeInformation;
type TTreeInformation=record
keyzak:integer;
mainkey:integer;
end;
сначала выделяю GetMem
и добавляю addChildObject(..,..,Data);

Вопрос: надо ли вручную освобождать память с помощью FreeMem или это берет на себя ветка/дерево?


← →
Kaban ©   (2002-07-08 11:33) [1]

Я освобождаю и не задаюсь вопросом надо или не надо, всегда лучше за собой подчистить


← →
kull ©   (2002-07-08 11:33) [2]

Надо. Она же не знает как ты память выделял GetMem, New, или там вообще экземпляр класса.
Да дело и не в этом. А если тебе не надо память уничтожать? Свойство Data нужно только чтобы связать определенные данные с веткой и неболее того,и никакой ответственности не несет.


← →
Skier ©   (2002-07-08 11:36) [3]

>Guerrillero Che
Обязательно надо !

FreeMem(TreeNode.Data, SizeOf(TTreeInformation));


← →
Guerrillero Che ©   (2002-07-08 11:53) [4]

Спасибо всем, вопрос исчерпан


← →
USAtyj ©   (2002-07-08 13:38) [5]

Я пишу несколько иначе:

...
New(Data);
...

А при удалении:

...
Dispose(Data);
...



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
6-58238
spiderman
2002-05-07 15:42
2002.07.18
Где зарыта собака?


1-58195
ivlex
2002-07-06 08:15
2002.07.18
Об Edit и проверке существования файла


4-58372
Vovas
2002-05-18 12:47
2002.07.18
Не обновляются обои на рабочем столе под win2000.


3-58020
Элизабет
2002-06-26 18:31
2002.07.18
Продолжительность в отчете


7-58333
cfk
2002-04-20 13:54
2002.07.18
Как узнать какое железо стоит на компе.




   Наверх