windows – TPath.GetTempFileName回复“目录名无效”
当从登录到域的用户运行的应用程序调用时,TPath.GetTempFileName(包装WinAPI GetTempFileName)回复“目录名无效”.
如果他们使用不使用域名的登录,则可以. 有问题的客户在另一个国家,我也不熟悉如何更改域控制器的配置以避免此问题. 我假设由于我的应用程序是无法正常工作的应用程序,我应该以不同的方式获取临时文件名. “以管理员身份运行”并没有帮助. 我指示他们确保他们可以完全控制TEMP&中提到的文件夹. TMP系统环境变量显然他们做了但它仍然给出了相同的错误. 我的应用程序作为Win32 Delphi桌面应用程序,但由于Windows是错误的来源,我认为这些信息的用处有限. Windows 10是操作系统. 解决方法
TPath.GetTempFileName在一开始就调用TPath.GetTempPath,但在使用返回的路径调用Winapi.Windows.GetTempFileName之前不检查它.
对TPath.GetTempPath的调用很可能返回空路径或无效路径. MSDN说:
如果它将返回Windows目录,则调用不会因所述消息而失败.因此,可能在这三个环境变量之一中存在错误的路径. 您的客户应检查这些变量并根据存在情况对其进行验证. 经验教会我怀疑客户说他们检查了什么……你可以自己调用TPath.GetTempPath,然后再调用TPath.GetTempFileName来检查它是否存在.或者,您可以在出现故障时调用它,作为处理引发的异常的一部分并添加错误消息的路径. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-server-2008-r2 – Win 2008 R2还有32位版吗?
- 在Windows上使用clang编译c 11程序时出错
- windows-server-2003 – 开发人员需要了解哪些Windows Serv
- windows-server-2008 – 病毒是否可以通过RDP连接使用的网络
- windows – Powershell Set Lid关闭动作
- 批处理文件 – chcp 65001和.bat文件
- Windows – Powershell:捕获程序stdout和stderr以分隔变量
- 解锁Windows AD帐户并通过命令行分配*临时*密码?
- 如何在Windows XP上将eclipse的内部浏览器从IE更改为Firefo
- windows-server-2008 – 虚拟服务器上的SQL Server 2008 Wo
- windows – 创建新进程后是否需要使用CloseHandl
- SCP将windows本地文件复制到linux远程文件夹
- Windows Phone 7 – Windows Phone 7应用程序是否
- 批处理文件 – 从Windows批处理文件中的无效GOTO
- windows – 在TaskManager中不显示虚拟机内存使用
- 预编译的Windows OMF BLAS / LAPACK?
- Windows C – 使用CloseHandle关闭线程
- windows-server-2003 – 当服务器运行时,Windows
- 日积月累--线程01
- 无法从Windows Mono C#Project访问Linux gcc编译