TXMLDocument的问题(50)

  • 主题发起人 主题发起人 tungh
  • 开始时间 开始时间
T

tungh

Unregistered / Unconfirmed
GUEST, unregistred user!
myxml.pas里function myxml.IsCreatXML : Boolean;var XMLDocument1: TXMLDocument;begin//需要重新创建XML if FileExists('./2Config.xml') then //存在文件就不在重新创建 Exit; with XMLDocument1.XML do begin Add('<?xml version="1.0" encoding="utf-8"?>'); //创建的时候不支持中文 Add('<MyConfig>'); Add(' <Config Name="ServerAdd" Parameter="23GD3.412.1hd"/>'); Add(' <Config Name="Accounts" Parameter="105GEws434552"/>'); Add(' <Config Name="PassWord" Parameter="aass123123"/>'); Add(' <Config Name="Port" Parameter="12347"/>'); Add(' <Config Name="DatabaseOne" Parameter="6841DSdhf"/>'); Add(' <Config Name="DatabaseTwo" Parameter="31gg"/>'); Add('</MyConfig>'); end; XMLDocument1.Active := true; XMLDocument1.SaveToFile('./2Config.xml');end;unit Unit1;里procedure TForm1.FormCreate(Sender: TObject);var myxml1: myxml;begin myxml1.IsCreatXML;//编译后直接出错 如果把XML上面的那段直接放这个创建里而不是另外的PAS里就不会出错。还有就是XML ADD的时候如果里面有中文就出错这个怎么解决?end;编译后直接出错 如果把XML上面的那段直接放这个创建里而不是另外的PAS里就不会出错。还有就是XML ADD的时候如果里面有中文就出错这个怎么解决?
 
继续关注下.....[:)]
 
编译后直接出错 如果把XML上面的那段直接放这个创建里而不是另外的PAS里就不会出错。--------具体一些,或者把你认为有错误的代码完整地贴出来,呵呵
 
Add('<?xml version="1.0" encoding="utf-8"?>'); //创建的时候不支持中文encoding="GB2312" XMLDocument1.Active := false; // XMLDocument1 就报存了
 
继续关注。首先建立一个VCL 里面的PAS里user myaaaa;procedure TForm1.FormCreate(Sender: TObject);var myxml1: myxml;begin if myxml1.IsCreatXML thenShowMessage('11111');//这个VCL里没有放TXMLDocument控件end;另外一个A.PAS里unit myaaaa;function myxml.IsCreatXML : Boolean;var XMLDocument1: TXMLDocument;begin if FileExists('./2Config.xml') then Exit; with XMLDocument1.XML do begin Add('<?xml version="1.0" encoding="utf-8"?>'); Add('<MyConfig>'); Add(' <Config Name="ServerAdd" Parameter="23GD3.412.1hd"/>'); Add(' <Config Name="Accounts" Parameter="105GEws434552"/>'); Add('</MyConfig>'); end; XMLDocument1.Active := true; XMLDocument1.SaveToFile('./2Config.xml');end;问题是 如何让这个function myxml.IsCreatXML : Boolean;在上面的VCL里有效果?无论我怎么弄 编译完运行了就出错
 
function myxml.IsCreatXML : Boolean;var XMLDocument1: TXMLDocument;begin if FileExists('./2Config.xml') then Exit;XMLDocument1.Active := true; with XMLDocument1.XML do begin Add('<?xml version="1.0" encoding="GB2312"?>'); Add('<MyConfig>'); Add(' <Config Name="ServerAdd" Parameter="23GD3.412.1hd"/>'); Add(' <Config Name="Accounts" Parameter="105GEws434552"/>'); Add('</MyConfig>'); end; XMLDocument1.Active := False;result:=true;//你 的 返回值呢? end;我都说了 ,你怎么不 多试试~~~
 
感谢楼上的回答。但是在一个PAS内没问题 我说的是在2个不同的PAS里直接就出---------------------------Project5---------------------------Access violation at address 83EC8B55. Read of address 83EC8B55.---------------------------确定 ---------------------------
 
var XMLDocument1: IXMLDocument;
 
继续关注此问题[:D][:D]
 
你这个XMLDocument1用的时候创建了吗?
 
if FileExists('./2Config.xml') then //存在文件就不在重新创建 Exit; XMLDocument1:=TXMLCocument.Create(self); with XMLDocument1.XML do begin Add('<?xml version="1.0" encoding="utf-8"?>'); //创建的时候不支持中文 Add('<MyConfig>'); Add(' <Config Name="ServerAdd" Parameter="23GD3.412.1hd"/>'); Add(' <Config Name="Accounts" Parameter="105GEws434552"/>'); Add(' <Config Name="PassWord" Parameter="aass123123"/>'); Add(' <Config Name="Port" Parameter="12347"/>'); Add(' <Config Name="DatabaseOne" Parameter="6841DSdhf"/>'); Add(' <Config Name="DatabaseTwo" Parameter="31gg"/>'); Add('</MyConfig>'); end; XMLDocument1.XML.SaveToFile('./2Config.xml');直接添加XMLDocument1是不能保存的,你也完全可以不用这个控件来保存的吗
 
后退
顶部