【发布时间】:2011-10-19 00:27:32
【问题描述】:
我想将一些 XML 程序首选项作为资源存储在 Delphi 应用程序中。资源将根据用户更改进行修改。我创建 XML 并将其作为资源加载没有问题,并且可以修改我加载它的 xmlDocument,但我不知道如何将文档写回。这甚至可能吗?我不希望最终得到 2 个文件(.exe 和 .xml)。
【问题讨论】:
-
这不是您通常管理设置的方式。请问为什么不想要一个外部的XML文件?设置 XML 文件应保存在
%APPDATA%/CompanyName/ProductName/ProductVersion中。您还可以使用注册表来保存数据。对于驻留在 USB 大容量存储设备上的便携式应用程序,您应该将 XML 文件保存在 USB 设备上的 EXE 文件旁边。如果出于某种奇怪的原因,您确实需要更改“嵌入式”XML,您可能需要第二个可执行文件。 -
不要这样做。将设置放在单独的文件中。
-
即使很容易实现,但如果用户无权修改可执行文件(只有具有管理员权限的用户才应该拥有),它是行不通的,默认情况下程序文件目录有这样的设置。不仅您不应该修改可执行文件,而且您不应该将 xml 文件写入与 exe 相同的文件夹中(用户可能无法写入)。从安全的角度来看,未受保护的可执行文件使系统易受攻击。
-
我看到了问题...我只是从 mac 的角度考虑将所有东西都放在一个自包含的包中,带有 plist 等的便利。我猜 mac .app 包不是不过确实是一个二进制文件,所以这是另一回事。我只是喜欢自包含、可移植的可执行文件的想法,但也许我会使用单独的文件
标签: delphi resources delphi-xe2