Hi to whoever is ready my post and call for help. I am an absolute novice at VB6 and are trying hard to learn this program off my own back from the internet and an old tutorial book i got my hands on. So far ive managed to build a database program, but i am stuck with one bug that is getting on me nerves because i cannot find a fix for it.
The drive list box gives an error message when drive not found. Error 68.
Is there a simple fix to display a message box and have the drive list box return to default after exiting the message box.
It makes my program crash every time no drive is found.
Ive tried for over aweek to suss it any help is much appreciated.
Here is part of my code for my program, a snapshot of the form i need it for is here http://www.andoverhydroponics.co.uk/vb6databasehelp.htm
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hWnd As Long, ByVal lpszOp As _
String, ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Const SW_SHOWNORMAL = 1
Const SE_ERR_FNF = 2&
Const SE_ERR_PNF = 3&
Const SE_ERR_ACCESSDENIED = 5&
Const SE_ERR_OOM = 8&
Const SE_ERR_DLLNOTFOUND = 32&
Const SE_ERR_SHARE = 26&
Const SE_ERR_ASSOCINCOMPLETE = 27&
Const SE_ERR_DDETIMEOUT = 28&
Const SE_ERR_DDEFAIL = 29&
Const SE_ERR_DDEBUSY = 30&
Const SE_ERR_NOASSOC = 31&
Const ERROR_BAD_FORMAT = 11&
Function OpenDocument(ByVal DocName As String) As Long
Dim Scr_hDC As Long
'Scr_hDC = GetDesktopWindow()
OpenDocument = ShellExecute(Me.hWnd, "Open", DocName, _
"", "C:\", SW_SHOWNORMAL)
End Function
Private Sub cmdExit_Click()
Unload Me
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_DblClick()
Dim r As Long, msg As String
Dim str As String
If Right(Dir1.Path, 1) = "\" Then
str = Dir1.Path & File1.FileName
Else
str = Dir1.Path & "\" & File1.FileName
End If
Me.Caption = str
r = OpenDocument(str)
'If there is an error, the return value is
'less than or equal to 32
If r <= 32 Then
Select Case r
Case SE_ERR_FNF
msg = "File not found"
Case SE_ERR_PNF
msg = "Path not found"
Case SE_ERR_ACCESSDENIED
msg = "Access denied"
Case SE_ERR_OOM
msg = "Out of memory"
Case SE_ERR_DLLNOTFOUND
msg = "DLL not found"
Case SE_ERR_SHARE
msg = "A sharing violation occurred"
Case SE_ERR_ASSOCINCOMPLETE
msg = "Incomplete or invalid file association"
Case SE_ERR_DDETIMEOUT
msg = "DDE Time out"
Case SE_ERR_DDEFAIL
msg = "DDE transaction failed"
Case SE_ERR_DDEBUSY
msg = "DDE busy"
Case SE_ERR_NOASSOC
msg = "No association for file extension"
Case ERROR_BAD_FORMAT
msg = "Invalid EXE file or error in EXE image"
Case Else
msg = "Unknown error"
End Select
MsgBox msg
End If
End Sub
Thanks Bill