delphi读取INI文件的奇怪问题 ( 积分: 100 )

  • 主题发起人 主题发起人 Redbreast
  • 开始时间 开始时间
R

Redbreast

Unregistered / Unconfirmed
GUEST, unregistred user!
遇到怪事:
在程序中执行后
SerialNum := ConfigFile.ReadInteger('SystemConfig','SerialNumber',0);
会将原来设置的SerialNumber数改写为零。真是太奇怪了。
以前也遇到过READBOOL时出现这种事情,晕了啊。
7和2007都出现,有哪位知道这是为啥?
 
'SystemConfig','SerialNumber' 注意大小写
 
大小写是绝对没有问题地,我刚发现是:
CheckBox4.Checked := ConfigFile.ReadBool('SystemConfig','AutoOpenCom',False);
他改写的,更奇怪了!
 
屏蔽这句不改写
打开就改写
都将这个值改写为零
 
文件里改写吗?
 
对呀,崩溃了!
 
CheckBox4.Checked := ConfigFile.ReadBool('SystemConfig','AutoOpenCom',False);
将CheckBox4.Checked :=屏蔽也就不改写了,加上继续改写[:(]
 
怪在他还改变的是别人的数值
我设置断点,肯定没有别的操作[:(!]
 
我用过N次ini从没出现这个问题

你在文件里写上别的 内容,看最后这些内容会不会消失!

我怀疑是文件被替换了
 
加了个中间变量也不改写[:D]
 
现在比较确定是:
CheckBox4.Checked := 带来的问题
 
大家可以做实验,如果语句中带有
CheckBox*.Checked := ;用UE或者其他NotPad+等工具都会检测到对文件的改写,但是并不一定改写错误,我遇到的问题较奇怪,改写出花来了。[:D]
 
呵呵,看CPU汇编头大了,谁手头有这方面的材料,学习一下再看看。
暂时先用中间变量吧。
 
后退
顶部