无法保存配置信息到xml文件
我在程序中想把窗口中用户输入的内容保存进ReportConfig.xml中,我的思路是程序启动时先读取信息,如果用户有所修改就保存下来。代码如下:
procedure LoadDBconfig;
var actual, DBnode: IXMLNode;
begin
document := TXMLDocument.Create(nil);//document 是全局变量
document.LoadFromFile(ExtractFileDir(ExeDir)+ '\ReportConfig.xml ');
actual := document.DocumentElement;
DBnode := actual.ChildNodes[ 'Database '];
GetMem (Database,SizeOf(Databaseinfo));
ZeroMemory(Database,SizeOf(Databaseinfo));
Database.dBhost :=DBnode.Attributes[ 'host '];
Database.dbUser :=DBnode.Attributes[ 'UserName '];
Database.dbPasswd :=DBnode.Attributes[ 'PassWord '];
Database.dbPort :=DBnode.Attributes[ 'Port '];
Database.dbname:=DBnode.Attributes[ 'DB '];
CurrentDB.DBConnect(Database.dBhost,Database.dbUser,Database.dbPasswd,
Database.dbname)
end;
procedure SaveDBConfig;
var actual, DBnode: IXMLNode;
begin
actual := document.DocumentElement;
DBnode := actual.ChildNodes[ 'Database '];
DBnode.SetAttribute( 'host ',Database.dBhost);
DBnode.SetAttribute( 'UserName ',Database.dbUser);
DBnode.SetAttribute( 'PassWord ',Database.dbPasswd);
DBnode.SetAttribute( 'Port ',Database.dbPort);
DBnode.SetAttribute( 'DB ',Database.dbname);
end;
程序编译运行都没有错误,LoadDBconfig过程可以读取信息,但就是保存不了信息,即ReportConfig.xml始终不变。请问高手如何是好?
[解决办法]
SaveDBConfig 最后加上
document.savetofile( 'ReportConfig.xml ');