我收到开发人员的反馈意见“视觉基础(6)处理UNC路径的唯一方法是将其映射到驱动器。”这准确吗?而且,如果是这样,那么什么是根本问题,除了映射驱动器之外还有其他选择吗?
答案 0 :(得分:6)
我们有一个使用UNC构建连接字符串的传统VB6应用程序,所以我知道VB6可以做到这一点。通常,您会发现权限问题是罪魁祸首。
答案 1 :(得分:2)
这是一种有效的方法。
Sub Main()
Dim fs As New FileSystemObject ' Add Reference to Microsoft Scripting Runtime
MsgBox fs.FileExists("\\server\folder\file.ext")
End Sub
答案 2 :(得分:2)
即使是旧式的文件处理也能正常工作:
Open "\\host\share\file.txt" For Input As #1
Dim sTmp
Line Input #1, sTmp
MsgBox sTmp
Close #1
答案 3 :(得分:1)
如果您使用的是Scripting.Runtime
库,我认为这不是真的。
Oldschool VB有一些用于文件处理的语言结构。这些都是邪恶的。不要使用它们。
答案 4 :(得分:1)
在VB6中,您无法将CHDrive用于UNC路径。
由于App.Path返回UNC路径,尝试将ChDrive用于此路径,ChDrive App.Path
将导致错误。
正如微软所说“ChDrive无法处理UNC路径,因此当App.Path返回一个时会引发错误”。有关详细信息,请查看http://msdn.microsoft.com/en-us/library/aa263345(v=vs.60).aspx
答案 5 :(得分:0)
你在做什么样的文件I / O?如果是文本,请查看使用FileSystemObject。
答案 6 :(得分:0)
当存在以下项目的组合时,我观察到了VB6 UNC路径问题:
通常是75路径文件访问错误或54.有时这可能与API有关,例如上述UNC的getshortfilename和getshortpathname。
除此之外,它们工作得很好......映射路径通常不会出现这些问题,但是那些已经过时的驱动器映射会经常断开连接,并且可能随时发生变化,从而导致许多支持问题。