Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Внизданные в TreeView Найти похожие ветки
← →
tytus © (2004-03-10 01:18) [0]В хелпе сказано (и Фаронов пишет то же), что при удалении узла TreeView указатель на данные НЕ освобождается. Как же его освободить, если данные записываются функцией
TV.AddChildObject(TV.Items[0],"Text",Pointer(True))?
Или память автоматически освобождается при закрытии программы?
← →
Petr V. Abramov © (2004-03-10 01:45) [1]> Или память автоматически освобождается при закрытии программы?
Освобождается. Только часто с AV на закрытии приложения.
> Как же его освободить,
property OnDeletion: TTVExpandedEvent;
Description
Write an OnDeletion event handler to respond when a node is deleted from the tree view control.
Правда, destroy`е TreeView оно не возникает, но эта ситуация проще, тут можете сами че-нить придумать
← →
Petr V. Abramov © (2004-03-10 01:52) [2]Кстати, пардон, и на destroy`е возникает, просто пробовал не на стандартном TreeView, а на хитром. Заодно и недокументированную фичу :) этого хитрого TreeView нашел :)
← →
Defunct © (2004-03-10 02:02) [3]> этого хитрого TreeView нашел :)
скорее баг ;)
← →
Petr V. Abramov © (2004-03-10 02:20) [4]> Defunct © (10.03.04 02:02) [3]
Не баг, а фичу. Баг - это несоответствие требованиям или докуменитации. А так этот OnDeletion мне нахрен не нужен, а документации нет - фича :)
← →
KSergey © (2004-03-10 08:30) [5]> tytus © (10.03.04 01:18)
> В хелпе сказано (и Фаронов пишет то же), что при удалении
> узла TreeView указатель на данные НЕ освобождается.
Немного не пойму я вашего вопроса.
"указатель на данные НЕ освобождается" - зачем освобождать указатель?? Указатель и не надо освобождать, надо освободить ту динамическую память, которая была выделена и указатель на которую имеем. Вот и все. Только это для случая, когда память выделяется.
> Как
> же его освободить, если данные записываются функцией
> TV.AddChildObject(TV.Items[0],"Text",Pointer(True))?
> Или память автоматически освобождается при закрытии программы?
Т.е. фактически запихиваем данные, означающие True/False? Я верно понимаю? А тогда об освобождении какой памяти вообще идет речь? Разве вы ее запрашивали у системы? А та тапять, которая занята собственно указателем (4 байта, подразумевается - адрес) - они сами собой и освободятся, естественно. Ведь место под их хранение выделяет себе компонент (а точнее даже - Win-контрол). Он сам все и почистит.
Освобождать надо было бы в том случае, если бы вы самостоятельно выделяли какую-либо память (создавали объект).
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c