unit 2;
...
function setxml: TXMLDocument;
var xmldoc: TXMLDocument;
begin
   xmldoc := TXMLDocument.create(nil);
   xmldoc.addChild('DATA');
   ....
   result := xmldoc;
end;
//=============================unit 1;
...
uese unit2;
....
....
var xmldoc :TXMLDocument;
begin
   xmldoc := setxml;//但每次执行到这句时,都出错。end;
...
end.
换成procedure setxml(var xmldoc : TXMLDocument);也一样不行。
急,请高手指点。

解决方案 »

  1.   

    刚才说错了,是xmldoc := setxml没有出错,下一句,对xmldoc进行读写就马上报错。
    如xmldoc.savetoFile('cc.xml')等.
      

  2.   

    ActiveX的东西需要CoInitxxx那个指令的!!!
    方法是正确的
    看SDK去了
      

  3.   

    你的setxml是个什么?如果是这样的话也行:function setxml(var xmldoc: TXMDocument)
    或者:setxml(xmldoc);
      

  4.   

    你是不是重复创建了?比如连续调用function setxml: TXMLDocument;付给同一变量?
    要么你函数function setxml: TXMLDocument;中可能有特殊的处理出错了,比较建立对象等等!