Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.02;
Скачать: CL | DM;

Вниз

Освобождение всяких IShellFolder, PItemIDList и т.д.   Найти похожие ветки 

 
Андрей Молчанов   (2005-08-05 20:03) [0]

Пожалуйста, подскажите, надо ли освобождать IShellFolder, PItemIDList, IMalloc и других их собратьев, и если надо, то как. Заранее благодарен.


 
GuAV ©   (2005-08-05 20:15) [1]

Те, которые IXxxx - это интерфейсы, их освобождение делается автоматически, когда обнулчется счётчик ссылок (что должно само происходить при выходе из области видимости переменной, или при присвоении ей nil).
Указатели, вроде PItemIDList (а точнее данные на которые они указывают) часто требуется освободить вручную (IMalloc.Free в дан случае), в MSDN это явно указывется, как например про ppidl в SHGetSpecialFolderLocation.


 
Андрей Молчанов   (2005-08-05 20:23) [2]

Спасибо. Значит, про IShellFolder и IMalloc можно забыть, да?

И еще вопрос, у меня есть дерево элементов, в некоторых Data указывает на запись с переменными PItemIDList. Как их освобождать тогда? При FormDestroy проходиться по всем записям и освобождать в каждой?


 
GuAV ©   (2005-08-05 20:32) [3]


> про IShellFolder и IMalloc можно забыть, да?

Можно забыть. Можно захотеть освободить раньше и присвоить nil (например, глобальная переменная будет освобождена только при выходе).


> есть дерево элементов,

Дерево это TreeView ?
Тогда событие OnDeletion.


 
Андрей Молчанов   (2005-08-05 20:51) [4]

БОЛЬШОЕ СПАСИБО!!!!!!!



Страницы: 1 вся ветка

Текущий архив: 2005.10.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-1126254560
Николай1
2005-09-09 12:29
2005.10.02
Создание отчётов для БД при помощи HTML


1-1126367091
lionts
2005-09-10 19:44
2005.10.02
Импорт перемненных из внешних модулей


14-1126110434
MegaVolt
2005-09-07 20:27
2005.10.02
Помогите найти тему про создание файлов большого размера без ...


2-1124965240
Laymer
2005-08-25 14:20
2005.10.02
Компоненты


14-1126011658
oldman
2005-09-06 17:00
2005.10.02
Никто не знает, что это было 3 сентября?