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

TreeView.Item   Найти похожие ветки 

← →
Димон1   (2003-02-18 10:39) [0]

Заполняю TreeView. К каждому узлу прикрепляю ссылку на record, созданную с помощью New.

...
while not EOF do
begin
New(obj);
obj^.Obj_id := FieldByName("Obj_ID").AsInteger;
obj^.Obj_Name := FieldByName("Obj_Name").AsString;
obj^.Obj_Type := FieldByName("Obj_Type").AsInteger;
obj^.Obj_ParentID := ParentID;
TreeView.Items.AddChildObject(Node, obj^.Obj_Name, obj);
Next;
end;
...


ВОПРОС: При выполненини TreeView.Clear освобождается ли память от этих объектов?

Если нет: Нужно ли мне самому освобождать память? Как лучше это сделать?


← →
Романов Р.В. ©   (2003-02-18 10:49) [1]

Память нужно освобождать самому например в обработчике TreeView.OnDeletion


← →
jack128 ©   (2003-02-18 10:50) [2]

Нет, память не освобождается, этим нужно заниматься самому
for i := 0 to TreeView1.Items.Count - 1 do
Dispose(PObj(TreeView1.Items[i].Data));


← →
mrcat ©   (2003-02-18 10:50) [3]

Димон1 (18.02.03 10:39)

>> При выполненини TreeView.Clear освобождается ли память от этих объектов?

нет.

>> Нужно ли мне самому освобождать память
да.

>>Как лучше это сделать?
Dispose F1





← →
Димон1   (2003-02-18 11:12) [4]

я сделал так:

procedure TfrmMain.TreeViewDeletion(Sender: TObject; Node: TTreeNode);
begin
if Node.Data <> nil then
begin
Dispose(PObj(Node.Data));
Node.Data := nil;
end;
end;


Всем спасибо!



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

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



Память: 0.45 MB
Время: 0.013 c
6-87596
Шоломицкий
2003-01-10 16:21
2003.02.27
надо сделать ОТДЕЛЬНУЮ прогу, которая будет самостоятельно


14-87682
Михаил
2003-02-09 22:27
2003.02.27
Сервисы в Win2k


1-87360
dimonxp
2003-02-17 08:44
2003.02.27
Проблема при компиляци


14-87654
SergeN
2003-02-10 14:27
2003.02.27
Не понимаю я!


1-87488
ramzes112
2003-02-15 20:44
2003.02.27
Запуск одной копии приложения и передача параметров...




   Наверх