我的代码如下:  XMLDoc:= NewXMLDocument;
   XMLDoc.LoadFromFile('config.xml');
  Root :=XMLDoc.DocumentElement;
   CurNode :=Root.ChildNodes.FindNode('port');
   comport:=CurNode.NodeValue;
第一句报错,但是在delphi的应用程序里这样写就没有问题,怎么回事啊?

解决方案 »

  1.   

    XMLDoc:= NewXMLDocument;
    New 是VB/C++/Java的构造函数delphi中用 Create要Uses XMLIntf;另外delphi 是先申明后使用.var
      XMLDoc: IXMLDocument;
    begin
       XMLDoc.LoadFromFile('config.xml');
       Root :=XMLDoc.DocumentElement;
       CurNode :=Root.ChildNodes.FindNode('port');
       comport:=CurNode.NodeValue;
    end;
      

  2.   

    那怎么creat呢,没有creat,直接load会报错
      

  3.   

    uses
      XMLIntf, XMLDoc;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      XMLDocument: IXMLDocument;
      Root: IXMLNode;
    begin
      try
        XMLDocument := TXMLDocument.Create(nil);
        XMLDocument.LoadFromFile('Test.xml');
        XMLDocument.Active := True;
        Root := XMLDocument.DocumentElement;
        ShowMessage(Root.LocalName);
      finally
        XMLDocument := nil;
      end;
    end;
      

  4.   

    同样也有初始化有问题,如果是在工程里运行这段代码肯定没问题,放到dll里调用就有问题了