1、在应用程序中使用正常,用在dll中就一大堆错,
非得加上uses froms ,然后在TXMLDocument.create(application);
2、遇到中文就死机,同样得xml文档,从文件上读没问题,
从webservice上返回的串上active:=true就说无效字符,
(注:webservice上返回的串先save,后读没问题)
xml没说过有无效字符这回事吧,不就是中文而已

解决方案 »

  1.   

    1.XMLDocument必须有Owner,用在动态库中时,需要运行CoInitialize.
    2.如果有中文,字符集必须是gb2312
      

  2.   

    问题找到了!
    xmldoc.free误写为xmldoc.xml.free
    居然没发现,2天了
    第一个问题ok了
    但是为什么不能处理别的字符集?
    而且先把字符串保存成文件后读出就能?
      

  3.   

    晕...最好不要调用..xmldoc.free!!!!!!!!
    XMLDOCUMENT组件设计得有特别,不应该这样用.
      

  4.   

    我相关贴子..
    http://expert.csdn.net/Expert/topic/2492/2492708.xml?temp=.3819086
    另外,我正好自己想写一篇关于TXMLDOCUMENT用法和可能问题的文档,过几天写好贴上来.
      

  5.   

    function xxxx():bool;
    var
      xmldoc:TXMLDocument;
    begin
      xmlDoc:= TXMLDocument.create(application);  xmlDoc.free//没错啊,如果不在这释放,是不是一直等程序退出时
                   application来释放?那如果调用了多个这样的函数,
                  内存怎么办end;请问TXMLDocument于IXMLDocument的关系(创建和释放的过程)?
      

  6.   

    这样释放完全没问题的.
    不过你Create时,最好是Create(AForm) 或者 Create(ADataModule)
      

  7.   

    Delphi的XMLDocument是封装MS的XML Parser的,自己不会用表乱骂,寒ing
      

  8.   

    MS的XML Parser遇到非gb2312字符集可没这么低级