Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
2-1190379982
Kolan
2007-09-21 17:06
2007.10.14
Почему Free не делает nil объекту?


15-1189695922
PIG
2007-09-13 19:05
2007.10.14
Компонент избавление VCL


15-1190055923
AntiUser
2007-09-17 23:05
2007.10.14
Разработан принцип воспламенения океанов


2-1190187546
Dmitriy_
2007-09-19 11:39
2007.10.14
Узнать разницу между двумя моментами (дата,время)


15-1189636957
Бакук
2007-09-13 02:42
2007.10.14
Англия-Россия-3:0




   Наверх