Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];

Вниз

Tree.AddChildObject имеет параметр Ptr, как освободить память?   Найти похожие ветки 

 
Тип   (2003-02-05 12:40) [0]

Мастера , хелп ми...
Из хелпа узнаем:
The memory referenced by Ptr is not freed when the tree nodes object is freed.
Как освободить память я не знаю... А то програ после 10-20 запусков гворит Access violation....
Как бороть?


 
Тип(Мастера, ау)   (2003-02-05 13:09) [1]

Ну кто-нибудь может помочь?


 
icWasya   (2003-02-05 13:54) [2]

Tree.OnDeletion-


procedure TForm1.Tree1OnDeletion(Sender: TObject; Node: TTreeNode);
begin
if Node.Data <>Nil then
........;
end;



 
Тип   (2003-02-05 14:43) [3]

2 icWasya ©
Вместо ...
написал
Node.Free;

Но теперь выскакивает Stack overflow....



 
Skier   (2003-02-05 14:47) [4]

>Тип

> Вместо ...
> написал
> Node.Free;


!!!???

Напиши
Dispose(Node.Data) или FreeMem(Node.Data)
(It depends)


 
Тип   (2003-02-05 15:02) [5]

2 Skier ©
Я ламер(пока еще) , извини если вызвал бурные эмоции, но
на Dispose(Node.Data) или FreeMem(Node.Data) ругается Access violation...

Я написал Node.Data := nil вроде работает.


 
Skier   (2003-02-05 15:03) [6]

>Тип
Ну да, ну да...
Короче вот так, примерно :

procedure TForm1.Tree1OnDeletion(Sender: TObject; Node: TTreeNode);
begin
if Node.Data <> Nil then
Dispose(Node.Data); //или FreeMem(Node.Data)
Node.Data := nil;
end; //if
end;



 
Skier   (2003-02-05 15:09) [7]

>Тип
Кстати, тебе нужно будет обязательно написать
освобождения данных для узлов в деструкторе формы или в обработчике TYourForm.OnDestroy иначе память при каждом уничтожении формы будет течь...


 
Тип   (2003-02-05 15:09) [8]

ругается Access violation...


 
Skier   (2003-02-05 15:12) [9]

Гадание на кофейной гуще...
Код для модуля формы !


 
Тип   (2003-02-05 15:12) [10]



> 2 Skier © (05.02.03 15:09)> >Тип
> Кстати, тебе нужно будет обязательно написать
> освобождения данных для узлов


А в OnDeletion , что разве не освобождение?

Access violation... возникает, когда я делаю Tree.Items.clear...



 
Тип   (2003-02-05 15:13) [11]


> Skier © (05.02.03 15:12)
> Гадание на кофейной гуще...
> Код для модуля формы !


Ввесь? да там много...


 
Романов Р.В.   (2003-02-05 15:14) [12]

Тип, что у тебя хранится в Data если не секрет?


 
Тип   (2003-02-05 15:19) [13]

2 Романов Р.В. ©
Данные из БД. Я строю дерево на основе БД, вот как я добавляю:
TempNode:=AddChildObject(Node , FieldByName("NAME_OPERATION").AsString, Pointer(FieldByName("ID_OPERATION").AsInteger));


 
Skier   (2003-02-05 15:23) [14]

type
PInteger = ^Integer;
var
AInt : PInteger;
begin
//.............
New(AInt);
AInt^ := FieldByName("ID_OPERATION").AsInteger;
TempNode:=AddChildObject(Node , FieldByName("NAME_OPERATION").AsString, AInt);
//................

//.............................
procedure TForm1.Tree1OnDeletion(Sender: TObject; Node: TTreeNode);
begin
if Node.Data <> Nil then
Dispose(Node.Data);
Node.Data := nil;
end; //if
end;

//.............................


 
Романов Р.В.   (2003-02-05 15:26) [15]

Тут ничего удалять не надо. Само рассосется.


 
Тип   (2003-02-05 15:36) [16]

2 Романов Р.В. ©
Ну почему тогда ошибка при удалении?


 
Тип   (2003-02-05 15:39) [17]

2 Skier ©
Не помогло, теперь детей не показывает, и ошибку выдает.
И , кстати, у тебя два end в конце, а begin один...


 
Skier   (2003-02-05 15:41) [18]

>Тип

> И , кстати, у тебя два end в конце, а begin один...

I"m done !


 
Тип   (2003-02-05 15:47) [19]

Ну с ошибкой вроде покончил, так теперь получается у меня в Data хранится не понятно что, так как детей не показывает...


 
Романов Р.В.   (2003-02-05 15:53) [20]


> Тип (05.02.03 15:36)
> 2 Романов Р.В. ©
> Ну почему тогда ошибка при удалении?

Хтож ее знает.


 
Тип(Мастера, ау)   (2003-02-05 17:20) [21]

Блин, ну как же быть, работа стоит... Помогите, плиз...



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

Форум: "Основная";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.01 c
1-38306
msoftware
2003-02-06 06:32
2003.02.13
Сохранение иконки в типизированный файл


3-38111
Шурик Ш
2003-01-28 11:09
2003.02.13
Действия с БД SQL


14-38459
MsGuns
2003-01-29 18:23
2003.02.13
Редактирование анкеты


9-38002
lexerursik
2002-04-05 16:15
2003.02.13
Работа с непрямоугольными битмапами


1-38300
FC
2003-02-06 00:29
2003.02.13
Измение свойств у группы объектов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский