X-R*_*Ray 4 windows delphi temp
TPath.GetTempFileName(包装WinAPI GetTempFileName)从登录到域的用户运行的应用程序调用时回复"目录名无效".
如果他们使用不使用域的登录,它可以工作.
有问题的客户在另一个国家,我也不熟悉如何更改域控制器的配置以避免此问题.
我假设由于我的应用程序是无法正常工作的应用程序,我应该以不同的方式获取临时文件名.
"以管理员身份运行"并没有帮助.
我指示他们确保他们完全控制TEMP和TMP系统环境变量中提到的文件夹,显然他们这样做但它仍然给出了相同的错误.
我的应用程序作为Win32 Delphi桌面应用程序,但由于Windows是错误的来源,我认为这些信息的用处有限.
Windows 10是操作系统.
TPath.GetTempFileNameTPath.GetTempPath在最开始调用但在Winapi.Windows.GetTempFileName使用返回的路径调用之前不检查它.
调用很可能TPath.GetTempPath返回空路径或无效路径.
MSDN说:
该
GetTempPath函数按以下顺序检查环境变量是否存在,并使用找到的第一个路径:
TMP环境变量指定的路径.TEMP环境变量指定的路径.USERPROFILE环境变量指定的路径.- Windows目录.
如果它将返回Windows目录,则调用不会因所述消息而失败.因此,可能在这三个环境变量之一中存在错误的路径.
您的客户应检查这些变量并根据存在情况对其进行验证.你说,路径"显然"还可以.
经验教会我怀疑客户说他们检查了什么......你可以TPath.GetTempPath在打电话TPath.GetTempFileName检查它是否存在之前自己打电话.或者,您可以在出现故障时调用它,作为处理引发的异常的一部分并添加错误消息的路径.
| 归档时间: |
|
| 查看次数: |
739 次 |
| 最近记录: |