Kok*_*tsu 3 delphi directory delphi-2010
我正在使用这样的ForceDirectories
功能:
ForceDirectories('C:/Path/To/Dir');
Run Code Online (Sandbox Code Playgroud)
它返回False
并且根本没有创建目录.GetLastError
返回0.我正在运行具有管理权限的程序.
如果我做
ForceDirectories('C:/Path');
ForceDirectories('C:/Path/To');
ForceDirectories('C:/Path/To/Dir');
Run Code Online (Sandbox Code Playgroud)
每次调用都成功,并创建目录.但是,这会使ForceDirectories
功能失效.有谁知道它为什么会这样?(我在看着你大卫)
Del*_*ics 11
将您的路径分隔符更改为适合您的平台(Win32)的路径分隔符,一切都会很好:
ForceDirectories('c:\Path\To\Dir');
Run Code Online (Sandbox Code Playgroud)
为了使代码可以跨平台移植(为将来可能与Delphi代码相关的时间做准备),您可以:
s := 'c:/Path/To/Dir'; // << example
s := StringReplace(s, '/', PathDelim, [rfReplaceAll]);
s := StringReplace(s, '\', PathDelim, [rfReplaceAll]);
ForceDirectories(s);
Run Code Online (Sandbox Code Playgroud)
这可以改进以便重复使用(仅搜索/替换no = PathDelim的符号),但演示了原理.