原先我是在Form上直接放的控件,使用很正常。
可是当我在程序中动态创建TXMLDocument时,其的DocumentElement不能使用。报Access violation。
相关代码如下:
XMLDoc: TXMLDocument;
Root : IXMLNode;
sName:String;
newName:String;
begin
try
XmlDoc:= TXMLDocument.Create(nil);
try
try
XmlDoc.LoadFromXML(AText);
except
result:=0;
Exit;
end; Root:= XMLDoc.DocumentElement; //这一句出错!
......
......
finally
XmlDoc.Free;
end;
except
result:=-1;
end;请教各位大虾了。万分感谢!
可是当我在程序中动态创建TXMLDocument时,其的DocumentElement不能使用。报Access violation。
相关代码如下:
XMLDoc: TXMLDocument;
Root : IXMLNode;
sName:String;
newName:String;
begin
try
XmlDoc:= TXMLDocument.Create(nil);
try
try
XmlDoc.LoadFromXML(AText);
except
result:=0;
Exit;
end; Root:= XMLDoc.DocumentElement; //这一句出错!
......
......
finally
XmlDoc.Free;
end;
except
result:=-1;
end;请教各位大虾了。万分感谢!
.....
begin
try
XmlDoc:= TXMLDocument.Create(nil);
try
try
XmlDoc.LoadFromXML(AText);
//加上下面这两句.
XMLDoc.Active:=false;
XMLDoc.Active:=true; except
result:=0;
Exit;
end;
......
看一看VCL相应源码..LoadFromXML在执行完之后,本身会把ACTIVE标志置为TRUE..
但好象处理得不够完美,需要再去 关一下再开.