Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выделяю память. Освобождать Пушкин или сам?


12 ©   (2010-03-23 15:30:00) 

PRec = ^Rec;
 
 Rec = Record
   ID : integer;
   lvl : byte;
 end;

Пишу

   
    New(R);
    R.ID := AOraQuery.FieldByName('IdTerra').AsInteger;
    R.lvl := lvl;
    TreeNode:=TreeAddress.Items.AddChildObject(
                                 Node,
                                 AOraQuery.FieldByName('NameTerra').AsString,
                                 R);

, работает.

но ни разу не вызываю антипод к New(R);
А чувствую что надо, вернее чувствую некую неправильность.

Так? если да, когда вызвать?


12   (2010-03-24 17:55:00) [1]

интересно, но разбирать/собирать не проще


han_malign   (2010-03-24 17:49:00) [2]

а я бы прикинул диапазоны и запихал в pointer(cardinal(lvl) shl BitsPerId or cardinal(ID) and not(cardinal(-1) shl BitsPerId))

это - если лень смотреть в сторону TCustomTreeView.OnCreateNodeClass...


Loginov Dmitry   (2010-03-23 22:20:00) [3]


> А чувствую что надо, вернее чувствую некую неправильность.
>
>
> Так? если да, когда вызвать?


Можно освобождать в событии OnDeletion.
Правда следует учитывать, что OnDeletion срабатывает еще и при Drag&Drop или при изменении Parent'a


Anatoly Podgoretsky   (2010-03-23 19:03:00) [4]

> Игорь Шевченко  (23.03.2010 16:26:09)  [9]

Чему молодежь учишь :-)


Игорь Шевченко   (2010-03-23 16:26:00) [5]


> 80 Мб на сто мильёнов записей.


семечки


12   (2010-03-23 15:56:00) [6]

Спасибо.


Омлет   (2010-03-23 15:49:00) [7]

> Медвежонок Пятачок ©   (23.03.10 15:40) [6]
> не фик и потеря. 8 байт на узел


80 Мб на сто мильёнов записей.


Медвежонок Пятачок   (2010-03-23 15:40:00) [8]

можно и пушкину поручить.
не фик и потеря. 8 байт на узел


12   (2010-03-23 15:38:00) [9]


> Медвежонок Пятачок ©   (23.03.10 15:33) [2]

т.е. надо помнить все выделенные мной R или перед убиством дерева пробежаться по нему и убить все Data?

А само оно, при умирании,  ни как?


Омлет   (2010-03-23 15:38:00) [10]

Подключи FastMM, он в дебаг-режиме сразу расскажет о неправильности.


12   (2010-03-23 15:33:00) [11]

TreeAddress: TTreeView;


Медвежонок Пятачок   (2010-03-23 15:33:00) [12]

когда перестраиваешь дерево или убиваешь его


12   (2010-03-23 15:33:00) [13]

тьфу, блин и еще
 R : PRec;


Наверх

Титульная страница Поиск, карта сайта Написать письмо