我的VB6应用程序使用Common Dialog Control for File Open等。 这些代码在数百台PC上运行良好。
但我有一个客户,其中File Open命令显示错误的文件夹。 他正在运行Windows 7。
这是我的代码的摘录:
Private Sub mnuFileItem_Click(Index As Integer)
CommonDialog1.FileName = "" 'workaround for problem with .InitDir (20051010)
CommonDialog1.InitDir = strDataPath
' Set filters
CommonDialog1.Filter = ApplicationName & " Files (*" & PreProcessorFileExtension & ")|*" & PreProcessorFileExtension
' Set dialog box so error occurs if the dialog box is cancelled '20020418
CommonDialog1.CancelError = True
Select Case Index ' Check index value of selected menu item.
Case 0 ' If index = 0, the user chose "New"
'code omitted here
Case 1 ' If index = 1, the user chose "Open..."
' display the File Open dialog
CommonDialog1.Action = 1
FileName = CommonDialog1.FileName
OpenCLSFile
Case 2 To 3 'If index = 2, "Save..." = 3, "Save As..."
'code omitted here
End Select
End Sub
通常,用于定义CommonDialog1.InitDir,strDataPath的变量设置为:
C:\ Users \ Public \ Documents \ Mincad Systems \ CIRCLY5 \ data
但对于遇到此问题的用户,将显示“文件打开”对话框:
C:\ Users \ Public \ Documents \ Mincad Systems \ CIRCLY6 \ data
我有来自用户的日志,确认CommonDialog1.InitDir =
C:\ Users \ Public \ Documents \ Mincad Systems \ CIRCLY5 \ data
在Sub mnuFileItem_Click中的每个语句之前。
用户也在使用我的应用程序的vb.net版本。 在该应用程序中,“文件打开”对话框使用文件夹:
C:\ Users \ Public \ Documents \ Mincad Systems \ CIRCLY6 \ data
vb.net应用程序是否有某种方法可以重置VB6应用程序使用的Common Dialog Control属性的某些属性? 我尝试使用Win32 API版本替换VB6通用对话框文件打开 - 但我的用户仍然遇到同样的问题。
此致 利
答案 0 :(得分:0)
我知道这篇文章很老,但也许这会对某人有所帮助。我在我的案例中发现,如果您在该PC上不存在设置Initdir的目录,则使用当前目录。