16,748
社区成员
发帖
与我相关
我的任务
分享
procedure TForm1.Button1Click(Sender: TObject);
var
doc: TXMLDocument;
begin
doc := TXMLDocument.Create(nil); //nil改成Self运行正常
doc.XML := Memo1.Lines;
doc.Active := True;
ShowMessage(BoolToStr(doc.Active, True)); //True
Memo1.Lines := doc.XML;
doc.DocumentElement.Attributes['b'] := 1;
ShowMessage(BoolToStr(doc.Active, True)); //False
Memo1.Lines := doc.XML; // 这句出错:Invalid pointer operation
end;
var
DOC: IXMLDocument;
begin
Doc := TXMLDocument.Create(NIL);
Doc.XML.Text := '<?xml version="1.0" encoding="UTF-8"?><Root><Host><Host1 IP="192.168.10.110" Port="7779"><CPU>1.7Ghz</CPU><Mem>2GB</Mem><MOList/></Host1></Host><Interface/><View/></Root>';
DOC.Active := true;
ShowMessage(doc.DocumentElement.NodeName);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
doc: IXMLDocument; //TXMLDocument改成IXMLDocument后正常动行
begin
doc := TXMLDocument.Create(nil); //nil改成Self运行正常
doc.XML := Memo1.Lines;
doc.Active := True; //上移一行Active在给XML赋值后变为False
ShowMessage(BoolToStr(doc.Active, True)); //True
Memo1.Lines := doc.XML;
doc.DocumentElement.Attributes['b'] := 1; //Exception: No active document
ShowMessage(BoolToStr(doc.Active, True)); //False
Memo1.Lines := doc.XML; //Exception:Invalid pointer operation
end;
procedure TForm1.Button1Click(Sender: TObject);
var
doc: TXMLDocument;
begin
doc := TXMLDocument.Create(nil); //nil改成Self运行正常
doc.Active := True;
doc.XML := Memo1.Lines;
ShowMessage(BoolToStr(doc.Active, True)); //True
Memo1.Lines := doc.XML;
doc.DocumentElement.Attributes['b'] := 1; //Exception: No active document
ShowMessage(BoolToStr(doc.Active, True)); //False
Memo1.Lines := doc.XML; //Exception:Invalid pointer operation
end;