Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: 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 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
3-87248
D
2003-02-11 12:16
2003.02.27
Blob-поля


3-87287
Skif_1
2003-02-08 00:44
2003.02.27
BDE


1-87392
Артём К
2003-02-14 12:37
2003.02.27
Как удалить пробелы до первого символа?


1-87481
Артём К
2003-02-15 05:45
2003.02.27
Как создать тень у Label


1-87568
Yorick
2003-02-14 16:03
2003.02.27
exe-фаилы