Главная страница
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.019 c
1-87517
Armageddon
2003-02-16 23:04
2003.02.27
Немного не в тему.


14-87699
Viktor1
2003-02-11 16:58
2003.02.27
Братья!!! Как правильно перекомпилить VCL?


7-87718
AlexNord
2002-12-28 19:30
2003.02.27
TTimer.OnTimer


8-87569
skyfox2
2002-11-12 11:06
2003.02.27
подскажите где взять?


14-87688
Ketmar
2003-02-11 15:29
2003.02.27
моя первая объяснительная...