Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
ВнизTreeView Найти похожие ветки
← →
Plt (2004-02-23 13:16) [0]B TreeView заполняю свойство Data:
TreeView.Items.AddObject(TTreeNode, S, Ptr).
Как правильно особождать память выделенную под структуру Ptr. По определенным обстоятельствам нельзя использовать событие OnClose.
← →
-= Iton =- (2004-02-23 13:58) [1]Free
← →
-= Iton =- (2004-02-23 13:58) [2]Free
← →
Гаврила (2004-02-23 14:05) [3]это рекорд ?
тогда Dispose от типизированого указателя
повесть следует на Treeview.OnDeletion
← →
Plt (2004-02-23 14:07) [4]Я делаю так:
procedure TMnForm.ClearMenuData;
var
i : integer;
begin
for i := 0 to DupView.Items.Count -1 do
begin
Dispose(DupView.Items[i].Data);
end;
end;
В OnClose обработать не могу, вызываю ClearMenuData в OnDestroy.
Но DupView.Items уже пусты. Может отдельно содать TList и с ним работать?
← →
Гаврила (2004-02-23 14:09) [5]procedure TForm1.TreeView1Deletion(Sender: TObject; Node: TTreeNode);
var
P: PmyRecord
begin
P:= Node.data;
dispose(P);
end;
← →
Plt (2004-02-23 14:48) [6]Я делаю так:
procedure TMnForm.ClearMenuData;
var
i : integer;
begin
for i := 0 to DupView.Items.Count -1 do
begin
Dispose(DupView.Items[i].Data);
end;
end;
В OnClose обработать не могу, вызываю ClearMenuData в OnDestroy.
Но DupView.Items уже пусты. Может отдельно содать TList и с ним работать?
← →
icWasya (2004-02-24 16:51) [7]у TTreeView есть событие OnDeletion типа
procedure(Sender: TObject; Node: TTreeNode) of object;
вот там и всё это делать
← →
Тимохов (2004-02-24 16:56) [8]
> Plt (23.02.04 14:48) [6]
> Dispose(DupView.Items[i].Data);
Если у тебя это указатель на завись, содержащую строки или дин массивы, то так делать нельзя. Будет утечка памяти.
← →
Гаврила (2004-02-24 17:09) [9]>>Тимохов © (24.02.04 16:56) [8]
Не согласен. Компилятор вызовет Finalize перед освобождением. Вот если освобождать с помощью FreeMem, то другое дело, будет утечка
← →
Тимохов (2004-02-24 17:11) [10]
> Гаврила (24.02.04 17:09) [9]
Не спорьте. Данная ошибка весьма типичка - нетипизированные указатели (data же нетипизированный) так освобождать нельзя.
Проверьте.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c