并非TXmldocument;不知怎么的,在自己定义了类里面定义了TXmldocument的对象,经过n次繁复调用(FreeAndNil)之后,总是出现内存非法问题,而改成IXMLDocument之后就没事了。
但是IXMLDocument没有Free方法,不知如何释方占用的内存空间

解决方案 »

  1.   

    IXMLDocument不需要释放的.这是用它的好处.
      

  2.   

    哦,真的吗;我是这样做的
      if (FXMLDoc<>nil) AND (FXMLDoc.XML<>nil) then
      begin
        FXMLDoc.XML.Clear;
        FXMLDoc:= nil;
      end;
    按上述所说,是不是连 FXMLDoc.XML.Clear;都不要了?
      

  3.   

    是的,如果XMLDOC所处理的文档量比较小,
    甚至连这五行全部都可以不要.
      

  4.   

    我做的不是一次性打开就关闭的exe程序,而是长期运行,繁复处理不同的xml文档,因此不容任何内存垃圾的存在,否则时间一长,服务器就受不了了
      

  5.   

    那就简单把接口引用赋成NIL.对TXMLDocument但有一点,创建它的时候一定要TXMLDocuemnt.Create(nil);
    不要给它指定OWNER,否则,引用计算就算是降为0的时候,它也不会释放.