调试VB6应用程序时如何设置工作目录?
我正在调试一个VB6可执行文件。可执行文件在运行时从其当前目录加载DLL和文件。在调试器中运行时,当前目录似乎是VB6的目录 如何设置VB6的工作目录? 这似乎不是一个“开箱即用”的解决方案 取自 无论如何。。为了结束这个话题。。 以下是我的VB6解决方案:I 在我的VB项目中定义2个符号 “MPDEBUG”和“MPRELEASE”并调用 以下函数作为第一个 我的应用程序入口点中的操作 功能调试VB6应用程序时如何设置工作目录?,vb6,Vb6,我正在调试一个VB6可执行文件。可执行文件在运行时从其当前目录加载DLL和文件。在调试器中运行时,当前目录似乎是VB6的目录 如何设置VB6的工作目录? 这似乎不是一个“开箱即用”的解决方案 取自 无论如何。。为了结束这个话题。。 以下是我的VB6解决方案:I 在我的VB项目中定义2个符号 “MPDEBUG”和“MPRELEASE”并调用 以下函数作为第一个 我的应用程序入口点中的操作 功能 我发现works的解决方案使用了一个子主键,并检查程序是否在IDE中运行 Dim gISIDE as B
我发现works的解决方案使用了一个
子主键
,并检查程序是否在IDE中运行
Dim gISIDE as Boolean
Sub Main()
If IsIDE Then
ChDrive App.Path
ChDir App.Path
End If
' The rest of the code goes here...
End Sub
Public Function IsIDE() As Boolean '
IsIDE = False
'This line is only executed if running in the IDE and then returns True
Debug.Assert CheckIDE
If gISIDE Then
IsIDE = True
End If
End Function
Private Function CheckIDE() As Boolean ' this is a helper function for Public Function IsIDE()
gISIDE = True 'set global flag
CheckIDE = True
End Function
仅当使用“文件打开”打开项目时,“当前目录似乎是VB6的目录”
关闭IDE时,双击.vbp文件将其打开。可以在快捷方式的属性中更改任何程序(包括vb6)的当前目录。我已将其更改为源代码树的根目录,这样可以更快地打开文件。但使用本机VB6命令ChDrive App.Path:ChDir App.Path更简单。
Public Sub ChangeDirToApp()
#If MPDEBUG = 0 And MPRELEASE = 1 Then
' assume that in final release builds the current dir will be the location
' of where the .exe was installed; paths are relative to the install dir
ChDrive App.path
ChDir App.path
#Else
' in all debug/IDE related builds, we need to switch to the "bin" dir
ChDrive App.path
ChDir App.path & BackSlash(App.path) & "..\bin"
#End If
End Sub
Dim gISIDE as Boolean
Sub Main()
If IsIDE Then
ChDrive App.Path
ChDir App.Path
End If
' The rest of the code goes here...
End Sub
Public Function IsIDE() As Boolean '
IsIDE = False
'This line is only executed if running in the IDE and then returns True
Debug.Assert CheckIDE
If gISIDE Then
IsIDE = True
End If
End Function
Private Function CheckIDE() As Boolean ' this is a helper function for Public Function IsIDE()
gISIDE = True 'set global flag
CheckIDE = True
End Function