Главная страница
    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.036 c
1-1078405630
Алексей
2004-03-04 16:07
2004.03.28
D7 корежит русские буквы формах


1-1078662258
JIruaasgyy
2004-03-07 15:24
2004.03.28
Проблема с загрузкой Excel в TOLEConteiner


4-1074418192
Max003
2004-01-18 12:29
2004.03.28
Какие параметры задавать EnableMenuItem


7-1073641355
selena
2004-01-09 12:42
2004.03.28
принтер


3-1077630655
Layner
2004-02-24 16:50
2004.03.28
Подскажите, как установить курсор на запись, где rowid=55 напр.





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