【发布时间】:2014-09-04 15:53:44
【问题描述】:
所以当我跑步时
TPath.Combine('c:', 'myfile.txt');
在 Delphi XE2 中,我得到 'C:myfile.txt' 作为回报。这不是我所期望的,它不是 Windows 中的有效路径。我希望 TPath.Combine 调用 Windows API (http://msdn.microsoft.com/en-us/library/fyy7a5kt%28v=vs.110%29.aspx) 或具有与 API 相同的行为。
我做错了什么吗?我可以“修复” TPath.Combine 的行为吗?还是我必须在我的代码中搜索所有用途并将其替换为字符串连接并在其间添加一个“\”?
【问题讨论】:
-
小吹牛,.NET 不是 Windows API(而且 Delphi 与 .NET 不一样 ;))
-
Win32 API 函数为
PathCombine() -
您链接到的
Path.Combine的文档说它也会返回c:myfile.txt:“如果 path1 不是驱动器引用(即“C:”或“D:”)并且不以 DirectorySeparatorChar、AltDirectorySeparatorChar 或 VolumeSeparatorChar 中定义的有效分隔符结尾,DirectorySeparatorChar 在连接之前附加到 path1。" -
@hvd:不,你错了。请再次阅读规范。
-
@hvd 读取正确,当然你可以随时执行函数调用,看看它返回什么
标签: delphi path delphi-xe2