例子代码如下:
var
msgXMLDoc:TDOMFreeThreadedDocument;
TempNode: IXMLDOMElement
begin
msgXMLDoc:=TDOMFreeThreadedDocument.Create(nil);
try
TempNode:=msgXMLDoc.CreateElement('hello');
......
......
finally
msgXMLDoc.Free;
end;
end; 我想问:在上面一段代码都执行完,TempNode变量占有的内存被释放了吗?如果没有,我是否应该在finally块中加入一句TempNode:=nil。可是我加了以后好像内存仍然没有被释放。另外如果TempNode不是如上被创建,而是这样创建:TempNode := CoDomDocument.Create; 那么正确地释放也是TempNode:=nil吗?我这样作了个测试,根本没有释放,实在是有些不解,望高手指点。
var
msgXMLDoc:TDOMFreeThreadedDocument;
TempNode: IXMLDOMElement
begin
msgXMLDoc:=TDOMFreeThreadedDocument.Create(nil);
try
TempNode:=msgXMLDoc.CreateElement('hello');
......
......
finally
msgXMLDoc.Free;
end;
end; 我想问:在上面一段代码都执行完,TempNode变量占有的内存被释放了吗?如果没有,我是否应该在finally块中加入一句TempNode:=nil。可是我加了以后好像内存仍然没有被释放。另外如果TempNode不是如上被创建,而是这样创建:TempNode := CoDomDocument.Create; 那么正确地释放也是TempNode:=nil吗?我这样作了个测试,根本没有释放,实在是有些不解,望高手指点。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货