![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Интерфейс + with [D7]
ЗВаська © (2008-01-06 22:05:00)У меня есть функция которая в результате возвращает некий интерфейс
function CreateXmlDocument(
const aRootElementName: String;
const aVersion: String;
const anEncoding: String;
const aNames: IXmlNameTable): IXmlDocument;
Я вызываю эту функцию через with:
with CreateXmlDocument do
begin
Load('hhh.xml');
DocumentElement.SelectSingleNode('ff')
...
end;
Как освобождается память выделенная под этот интерфейс: автоматом ли? Или все же нужно делать промежуточную переменную, которую после равнять в nil?
Sergey Masloff (2008-01-06 22:43:00) [1]Да меленькое дополнение. Конечно не будет освобождена память а будет уменьшен счетчик ссылок. Память будет освобождена если объект реализующий интерфейс обеспечивает нормальную работу со счетчиком ссылок и значение счетчика почсле уменьшения стало = 0
Sergey Masloff (2008-01-06 22:41:00) [2]Как только переменная выйдет из области видимости - компилятор все сделает за тебя.
Сразу после end все что нужно будет сделано