【问题标题】:NAS ForceDirectoriesNAS 强制目录
【发布时间】: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


【解决方案1】:

您正在以管理员身份运行 IDE。这意味着您的进程也以管理员身份运行。并且似乎以管理员身份运行时,映射到 NAS 驱动器的驱动器不可用。

我的建议是不要以管理员身份运行 IDE。

【讨论】:

  • 作为管理员而不是管理员尝试了两种方式。没有任何效果。打算放弃这个项目。
猜你喜欢
  • 1970-01-01
  • 2020-10-02
  • 2020-07-26
  • 1970-01-01
  • 1970-01-01
  • 2016-09-19
  • 2013-08-26
  • 1970-01-01
  • 2010-12-18
相关资源
最近更新 更多