Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-1078394851
Романов Р.В.
2004-03-04 13:07
2004.03.28
TLabel на TToolBar


14-1077632293
Zendor
2004-02-24 17:18
2004.03.28
Delphi 8


8-1069289840
Кен
2003-11-20 03:57
2004.03.28
Как можно с вэбкамеры снять скриншот, записать видео ?


1-1078410144
YurikGl
2004-03-04 17:22
2004.03.28
Сохранить в Excel


3-1077110672
VictorT
2004-02-18 16:24
2004.03.28
Опять избавление от вложенного запроса. На этот раз внутри UPDATE





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский