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

Вниз

Интерфейс + with   Найти похожие ветки 

 
ЗВаська   (2008-01-06 22:05) [0]

У меня есть функция которая в результате возвращает некий интерфейс
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:41) [1]

Как только переменная выйдет из области видимости - компилятор все сделает за тебя.
Сразу после end все что нужно будет сделано


 
Sergey Masloff   (2008-01-06 22:43) [2]

Да меленькое дополнение. Конечно не будет освобождена память а будет уменьшен счетчик ссылок. Память будет освобождена если объект реализующий интерфейс обеспечивает нормальную работу со счетчиком ссылок и значение счетчика почсле уменьшения стало = 0



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

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

Наверх




Память: 0.47 MB
Время: 0.019 c
2-1199453773
Stepper
2008-01-04 16:36
2008.02.03
Где в реестре (ветка) прописать параметр (триального периода) ?


1-1192691199
Alex_Ne
2007-10-18 11:06
2008.02.03
Вызов MDICild-формы из Dll


15-1198582880
Kolan
2007-12-25 14:41
2008.02.03
RxLib и EhLib для BDS2006 где взять?


1-1193230015
pasha_golub
2007-10-24 16:46
2008.02.03
Не могу зайти дебаггером в исходники DBClient.pas


2-1199844321
Abcdef123
2008-01-09 05:05
2008.02.03
Почему не работает CTRL+(LeftClick Mouse)?