Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2010, 19:32   #1
juan666777
Пользователь
 
Аватар для juan666777
 
Регистрация: 24.01.2009
Сообщений: 84
По умолчанию Надо ли самим уничтожать память в объекте TTreeView ?

У меня такой вопрос я использую древовидную систему TTreeView для хранения данных. Тоесть Node:TTreeNode и у него есть свойство data Node.Data и сюда записывается ссылка на какой либо тип данных. Вопрос такой когда я удаляю стандартными способом через delete уничтожаются ли пямять выделенная под мой тип данных или надо самим удалять эту память ?
Evil Skull
juan666777 вне форума Ответить с цитированием
Старый 06.02.2010, 19:43   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

При удалении ноды память очищается автоматом.
Я понимаю, в хэлпе трудно было посмотреть:
Цитата:
Use the Delete method to delete a tree node and free all associated memory.
mihali4 вне форума Ответить с цитированием
Старый 07.02.2010, 01:32   #3
juan666777
Пользователь
 
Аватар для juan666777
 
Регистрация: 24.01.2009
Сообщений: 84
По умолчанию

Спасибо буду знать .
Evil Skull
juan666777 вне форума Ответить с цитированием
Старый 07.02.2010, 22:29   #4
maxionans
Форумчанин
 
Аватар для maxionans
 
Регистрация: 02.01.2010
Сообщений: 254
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
При удалении ноды память очищается автоматом.
Я понимаю, в хэлпе трудно было посмотреть: Use the Delete method to delete a tree node and free all associated memory.
Вышесказанное относится только к классу TTreeNode. Память по указателю в свойстве Node.Data не освобождается при удалении Node, её нужно освобождать самостоятельно, если это требуется.
maxionans вне форума Ответить с цитированием
Старый 07.02.2010, 22:39   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

То maxionans
А вам не приходило в голову сопоставить две простые фразы:
Цитата:
Use the Data property to associate data with a tree node.
и
Цитата:
Use the Delete method to delete a tree node and free all associated memory.
mihali4 вне форума Ответить с цитированием
Старый 07.02.2010, 22:47   #6
maxionans
Форумчанин
 
Аватар для maxionans
 
Регистрация: 02.01.2010
Сообщений: 254
По умолчанию

Даже если и приходило, все равно на реальное положение вещей это никак не влияет - память из Data нужно освобождать вручную. Если вы не верите мне на слово, просто проведите небольшой тест, который все расставит на свои места.
maxionans вне форума Ответить с цитированием
Старый 08.02.2010, 01:00   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Да, вы правы.
Нужно применять метод
Код:
FreeMem(TreeView.Selected.Data, SizeOf(Integer));
и так далее для каждого поля рекорда...
Жуть, как утомительно
Но, с другой стороны, вряд ли это критично - ведь при закрытии программы все это освобождается без лишних телодвижений...

З.Ы.
(Наверное, я понемногу начинаю привыкать к солидным параметрам современных ПК, которые и не снились, допустим, нашей ЕС-1055 под номером 002 с "винчестерами" размером с письменный стол, с 9-ю блинами и емкостью... вы не поверите... 7,5 мегабайта Оперативы тоже было - 256 килобайт, на ферритах... Кто знает - поймет )

Последний раз редактировалось mihali4; 08.02.2010 в 01:08.
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объект на объекте. nikz2 Общие вопросы C/C++ 1 03.10.2009 23:55
Мышь на объекте doniyor Общие вопросы Delphi 4 03.07.2009 12:27
Создание групп на сайте самим юзером unstop PHP 2 18.03.2009 00:35
Наличие указателя в объекте Edit El Fierro Общие вопросы Delphi 14 15.03.2009 13:47
не сортируются данные в объекте TDBQLocateGrid unwanted БД в Delphi 2 26.07.2007 13:32