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

Вниз

Как правильно уничтожать обьекты?   Найти похожие ветки 

 
alles ©   (2007-09-13 13:07) [0]

Добрый день.
1. Как правильно уничтожать обьект(xmlResponse) типа TXMLDocument?
Я создаю его так:
xmlResponse:=TXMLDocument.Create(nil);
Достаточно просто писАть: xmlResponse:=nil;
Или надо так:

if Assigned(xmlResponse) then
 begin
        xmlResponse.Free;
        xmlResponse:=nil;
 end;


 
Reindeer Moss Eater ©   (2007-09-13 13:14) [1]

В данном конкретном случае уничтожать вообще ничего не надо.
xmlResponse будет чисто интефейсной ссылкой и кильнется при выходе из области видимости.


 
Ksan ©   (2007-09-13 13:23) [2]

как рекомендция пользовать стандартную функцию FreeAndNil


if xmlResponse <> nil then
 FreeAndNil(xmlResponse);


 
alles ©   (2007-09-13 13:29) [3]

2 Reindeer Moss Eater ©   (13.09.07 13:14) [1]
В инет нашел вот это:

When TXMLDocument is created without an Owner , it behaves like an interfaced object. That is, when all references to its interface are released, the TXMLDocument instance is automatically freed. When TXMLDocument is created with an Owner , however, it behaves like any other component, and is freed by its Owner .

Значит если поставить xmlResponse:=nil; ничего страшного не будет?


 
Reindeer Moss Eater ©   (2007-09-13 13:31) [4]

Ничего страшного не будет, даже если ничего не поставить


 
alles ©   (2007-09-13 13:38) [5]

ok. И еще один вопрос:
Есть переменная типа olevariant
Var IdPay: olevariant;
даем ей обычьный стринг:
IdPay:=Request.Item["bankid"]; // (Request type of IRequest - interface)

Надо в конце операций освобождать память под IdPay?


 
Reindeer Moss Eater ©   (2007-09-13 13:46) [6]

не надо.


 
alles ©   (2007-09-13 13:56) [7]

спасибо всем за ответы


 
Kolan ©   (2007-09-14 08:32) [8]

А работать лучьше с IXMLDocument



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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
2-1190115937
F@T@L_Err0r
2007-09-18 15:45
2007.10.14
MediaPlayer


4-1176093941
VladSel
2007-04-09 08:45
2007.10.14
Delphi ,сотовый телефон и AT команды


2-1190264949
Kolan
2007-09-20 09:09
2007.10.14
Почему может не работать AutoHotKeys?


15-1189784352
Чайник
2007-09-14 19:39
2007.10.14
UpperCase для кириллицы


15-1190107490
Сатир
2007-09-18 13:24
2007.10.14
Как посчитать кол-во часов, минут, секунд между двумя датами?