我的应用程序最初是在 win XP 中使用 vb6 创建的,将程序特定的值存储在注册表中。这些值之一是程序使用的数据库所在的位置。用户可以将它放在他们喜欢的任何地方,程序启动它使用上次从注册表中保存的值启动数据库位置屏幕。此表单使用 DriveListBox、DirListBox 和 FileListBox 组件。在 Win 7 上运行此应用程序时,尝试将 dir 列表设置为存储在注册表中的值时出现错误,该注册表是网络驱动器。如果存储数据库的驱动器是本地的,这一切都可以正常工作。
代码是:
On Error GoTo HandleError
dbLocation = GetSetting(App.Title, "Settings", "DBLocation", dbserver)
If dbLocation = dbserver Then
Dir1.Path = GetSetting(App.Title, "Database", "ServerDBPath", "C:\") <----- fails
Else
Dir1.Path = GetSetting(App.Title, "Database", "LocalDBPath", "C:\")
End If
Drive1.Drive = Dir1.Path
Exit Sub
HandleError:
MsgBox "Error connecting to the network. Check network connections and try again.", vbOKOnly, "Connection error"
Drive1.Drive = "C:\"
我怀疑问题出在目录列表框上。如果我删除我的错误处理,抛出的错误是“设备不可用”
关于发生了什么的任何想法?我使用的组件对 win 7 无效吗?对于此应用程序,数据库必须位于网络驱动器上,以便可以从运行该程序的多台 PC 访问它。所有 PC 都在 Windows 7 上运行。