gpt4 book ai didi

delphi - ForceDirectories 返回 False

转载 作者:行者123 更新时间:2023-12-03 15:38:05 25 4
gpt4 key购买 nike

我正在使用 ForceDirectories 函数,如下所示:

ForceDirectories('C:/Path/To/Dir');

它返回False并且根本没有创建任何目录。 GetLastError 返回 0。我正在使用管理权限运行该程序。

如果我这样做

ForceDirectories('C:/Path');
ForceDirectories('C:/Path/To');
ForceDirectories('C:/Path/To/Dir');

每次调用都会成功并创建目录。但是,这会导致 ForceDirectories 函数失去作用。有谁知道为什么它会这样? (我正在看着你,大卫)

最佳答案

将路径分隔符更改为适合您的平台 (Win32) 的路径分隔符,一切都会好起来的:

  ForceDirectories('c:\Path\To\Dir');

为了使代码跨平台可移植(为将来可能与您的 Delphi 代码相关的时间做准备),您可以:

  s := 'c:/Path/To/Dir';  // << example

s := StringReplace(s, '/', PathDelim, [rfReplaceAll]);
s := StringReplace(s, '\', PathDelim, [rfReplaceAll]);
ForceDirectories(s);

这可以改进以供重用(仅搜索/替换不= PathDelim 的符号),但演示了原理。

关于delphi - ForceDirectories 返回 False,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5123814/

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