gpt4 book ai didi

delphi - .ini 文件未创建

转载 作者:行者123 更新时间:2023-12-03 18:00:53 25 4
gpt4 key购买 nike

我已经开始使用 .ini 文件,因为我意识到与 .txt 文件相比它有很多优势。无论如何,我用谷歌搜索了“delphi inifiles”,现在我正在关注 Delphi About 上的指南。 .然而,即使所有语法都是正确的,我尝试的第一行也给我带来了麻烦。

Delphi 关于代码:

IniFile := TIniFile.Create('myapp.ini') ;

我的代码:
IniFile := TIniFile.Create('SWEDISH_HOUSE_MAFIA.ini');

唯一的区别是 .ini 文件本身的名称。另外,是的,我有:
  • 在“uses”子句中声明了“IniFiles”
  • (本地)声明的 IniFile

  • 我已将该代码放在 FormCreate 下,但问题是程序运行时未创建此 .ini 文件。任何人都知道问题可能是什么?我问过 friend ,他说是权限问题。

    额外细节:
  • 操作系统 - Windows 7 Ultimate 64 位(管理员权限)
  • 程序存储在-我的文档
  • 我使用 - 德尔福 2010
  • 最佳答案

    第一个问题是该文件仅在您向 ini 文件中写入内容时创建。我怀疑目前您没有调用 WriteXXX 之一方法。

    另一个问题是,如果你没有限定你的路径,那么 TIniFile将尝试在 Windows 目录中找到它,当然您无权在那里写入。 TIniFile 的底层 API基于的是私有(private)配置文件API,该API已被长期弃用,性能非常糟糕,并且充满了奇怪的皱纹。 documentation状态:

    If the lpFileName parameter does not contain a full path and file name for the file, WritePrivateProfileString searches the Windows directory for the file. If the file does not exist, this function creates the file in the Windows directory.



    显然,您应该完全限定您的路径。

    但是,我强烈建议您考虑使用 TMemIniFile而不是 TIniFile自从 TMemIniFile避免了私有(private)配置文件 API 的所有缺陷。

    如果您确实切换到 TMemIniFile然后记得调用 UpdateFile在销毁 ini 文件之前,因为这会将设置保存到磁盘。否则 TMemIniFileTIniFile 的直接替代品.

    关于delphi - .ini 文件未创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7377377/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com