Vb6 Visual Basic 6和UNC路径
我收到一位开发人员的反馈,“VisualBasic(6)处理UNC路径的唯一方法是将其映射到驱动器。”这准确吗?如果是的话,根本的问题是什么?除了映射驱动器,还有其他选择吗?我们有一个传统的VB6应用程序,它使用UNC构建连接字符串,所以我知道VB6可以做到这一点。通常,您会发现权限问题是罪魁祸首。以下是一种可行的方法Vb6 Visual Basic 6和UNC路径,vb6,unc,Vb6,Unc,我收到一位开发人员的反馈,“VisualBasic(6)处理UNC路径的唯一方法是将其映射到驱动器。”这准确吗?如果是的话,根本的问题是什么?除了映射驱动器,还有其他选择吗?我们有一个传统的VB6应用程序,它使用UNC构建连接字符串,所以我知道VB6可以做到这一点。通常,您会发现权限问题是罪魁祸首。以下是一种可行的方法 Sub Main() Dim fs As New FileSystemObject ' Add Reference to Microsoft Scripting Run
Sub Main()
Dim fs As New FileSystemObject ' Add Reference to Microsoft Scripting Runtime
MsgBox fs.FileExists("\\server\folder\file.ext")
End Sub
如果您使用的是
Scripting.Runtime
库,我认为这不是真的
旧学校的VB有一些用于文件处理的语言结构。这些都是邪恶的。不要使用它们。您正在执行哪种类型的文件I/O?如果是文本,请考虑使用FileSystemObject。即使是老式的文件处理方式也可以:
Open "\\host\share\file.txt" For Input As #1
Dim sTmp
Line Input #1, sTmp
MsgBox sTmp
Close #1
我观察到当以下项目组合存在时,VB6 UNC路径问题:
- unc指向一个隐藏的“$”共享
- 服务器名称超过8个字符,或具有非标准字符
- 这条路的一部分特别长
- 出于性能目的,服务器已关闭8.3支持
除此之外,他们工作得很好。。。映射路径通常不会出现这些问题,但那些该死的驱动器映射经常断开连接,并且可能随时更改,从而导致许多支持问题。在VB6中,您不能将CHDrive用于UNC路径 由于App.Path返回UNC路径,因此尝试将ChDrive用于此路径,
ChDrive App.Path
将导致错误
正如微软所说,“ChDrive无法处理UNC路径,因此当App.Path返回UNC路径时会引发错误”。有关更多信息,请参阅