vb6 を使用して Windows XP で最初に作成された私のアプリケーションは、プログラム固有の値をレジストリに保存します。これらの値の 1 つは、プログラムが使用するデータベースの場所です。ユーザーは好きな場所に置くことができ、プログラムはレジストリから最後に保存された値でデータベースの場所画面を準備します。このフォームは、DriveListBox、DirListBox、および FileListBox コンポーネントを使用します。このアプリケーションを Win 7 で実行すると、ネットワーク ドライブであるレジストリに保存されている値にディレクトリ リストを設定しようとするとエラーが発生します。データベースが保存されているドライブがローカルの場合、これはすべて正常に機能します。
コードは次のとおりです。
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:\"
問題はディレクトリ リスト ボックスにあると思われます。エラー処理を削除すると、スローされるエラーは「Device Unavailabe」です
何が起こっているかについてのアイデアはありますか?使用しているコンポーネントは win 7 では有効ではありませんか? このアプリケーションの場合、プログラムを実行している複数の PC からアクセスできるように、データベースはネットワーク ドライブ上にある必要があります。すべての PC は Windows 7 で実行されています。