【发布时间】:2016-03-02 21:41:06
【问题描述】:
我似乎无法在 Windows 10 64 位的 NAS 分区上调用 ForceDirectories()。
我可以使用 Windows 资源管理器在 NAS 上创建一个文件夹。
procedure TForm3.Button1Click(Sender: TObject);
var
tempDir: String;
begin
tempDir := 'z:\ttt\ttttest';
if NOT DirectoryExists(tempDir) then
if System.SysUtils.ForceDirectories(tempDir) then
ShowMessage('Dir: ' + tempDir + ' Forced alright')
else
ShowMessage('Dir: ' + tempDir + ' Force FAILED with error : '+ IntToStr(GetLastError));
end;
Z: 是西部数据网络附加存储,在所有其他方面都可以正常工作。
代码每次都返回错误3。
相同的代码在本地驱动器上正常工作。
【问题讨论】:
-
对我来说很好。可能是本地权限问题的映射。有人想知道您是否以管理员身份运行 delphi ide。
-
另外,我相信你知道这里的 3 是什么意思:msdn.microsoft.com/en-gb/library/windows/desktop/…
-
错误 3 是
ERROR_PATH_NOT_FOUND。驱动器号映射是每个用户的,因此运行您的应用程序的用户帐户可能不存在Z:驱动器。此外,ForceDirectories()在创建目录之前会检查目录是否存在,因此您无需手动调用DirectoryExists()。 -
还是不行。肯定有什么基本错误。我使用的所有其他工具都可以在 NAS 上创建和访问所有文件夹(目录 Opus、文件资源管理器、MS Word、NotePad++)。还有其他想法吗?
-
我确实以管理员身份运行 Delphi,并已测试以确保应用程序在我的管理员用户下运行。
标签: delphi nas delphi-10-seattle