微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Delphi 将重复条目写入 TIniFile

如何解决Delphi 将重复条目写入 TIniFile

这是一个奇怪的现象。我有一个 Delphi 10.3 应用程序,它已开始将重复条目写入 tiniFile

代码如下:

with tiniFile.Create(UserDatFileName) do
try
  WriteInteger(SFormName,'Top',AForm.Top);
  WriteInteger(SFormName,'Left',AForm.Left);
  WriteInteger(SFormName,'Height',AForm.Height);
  WriteInteger(SFormName,'Width',AForm.Width);
  WriteString(SFormName,'WindowState',SWindowState);
finally
  Free;
end;

多年来一直运行良好。现在,突然之间,我得到了这样的输出

[fMainForm]
Top=0
Left=0
Height=556
Width=671
WindowState=wsMaximized
pnlNavigation.Width=165
TreeListcxTreeListModule.Width=161
Top=0
Left=0
Height=556
Width=671
WindowState=wsMaximized
pnlNavigation.Width=165
TreeListcxTreeListModule.Width=161
Top=0
Left=0
Height=556
Width=671
WindowState=wsMaximized
pnlNavigation.Width=165
TreeListcxTreeListModule.Width=161
... etcetera etcetera

关于为什么会发生这种情况的任何建议?我认为 tiniFile 值对在每个部分中应该是唯一的?

解决方法

@dummzeuch 获胜:文件开头有三个无关字符(Hex EF BB BF)。删除那些删除了问题。我还在另一个类似问题的 INI 文件的开头发现了相同的三个字符。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。