无法调试VB5项目

时间:2013-10-22 12:43:39

标签: debugging vb5

我想更改我的合作伙伴之一的旧软件。销售。它是一个VB5项目。

为了清楚我不能改变语言,必须绝对使用VB5 ......(如果我能改成C#,我现在就是地球上最幸福的人。)

这是问题所在。

我安装了Microsoft Visual Basic IDE并加载了.VBP文件。

我阅读代码以了解哪些部分可以做什么,但我希望逐步在屏幕上看到它(带有断点的调试模式)。

所以,我打了一些断点并点击“播放”(调试按钮),但我收到了这个错误

Execution error '-2147024894 (80070002)': Automation Error

但奇怪的是,当我使用.exe时,软件工作正常我认为这可能是调试器的一个问题。

从这里我有三个选择:

1-End program

结束程序

2-Debug

它发送给我一行代码,但我不知道错误是什么。

以下是我指出的代码:

Private Sub Form_Load()
Dim strLangue As String

bBusy = False

Set gImgBackground = Me.imgBackground

Set gBackGround1 = LoadPicture(App.Path & "\images\bg1.gif")
Set gBackGround2 = LoadPicture(App.Path & "\images\bg2.gif")
Me.BackColor = &HC0E0E0
gIniPath = App.Path & "\posi1000.ini"

basMain.gLangFile = App.Path & "\" & inireadvalue(gIniPath, "general", "langfile", "")
If InStr(UCase(basMain.gLangFile), "FR") <> 0 Then
  strLangue = "FR"
ElseIf InStr(UCase(basMain.gLangFile), "EN") <> 0 Then
  strLangue = "EN"
Else
  strLangue = "FR"
End If

strComType = UCase(inireadvalue(gIniPath, "general", "ComType", "MOELLER"))
If strComType = "MOELLER" Then

'    Dim tJRT_COM As JRT_COM.TEST_MOELLER
'    Set tJRT_COM = New JRT_COM.TEST_MOELLER
'    Set tJRT_COM = New JRT_SUCOMA.JRT_SUCOMA

'    Call tJRT_COM.openComDevice("COM1:19200", 0)
'    Set Module1.MyJRT_COM = tJRT_COM


''    Dim t As String

''    Set tJRT_COM = JRT_COM.New(True)
'        Set MyJRT_COM = CreateObject("JRT_SUCOMA.JRT_SUCOMA")
'MyJRT_COM = Ctype(
'    Set MyJRT_COM = New JRT_SUCOMA.JRT_SUCOMA
''    Dim tJRT_COM As New JRT_SUCOMA.JRT_SUCOMA
'

''    Set tJRT_COM = Nothing
'
''    If Module1.MyJRT_COM.setComDevice(gComDevice, strLangue) = 0 Then
''        Module1.MyJRT_COM.
''    End If
'
ElseIf strComType = "OMRON" Then
'    Set MyJRT_COM = New JRT_COM.JRT_OMRON
'    Set MyJRT_COM = CreateObject("JRT_COM.TEST_OMRON")
'    Set MyJRT_COM = MyJRT_COM_MOELLER
''  Else
''    Set MyJRT_COM = New JRT_COM.JRT_MOELLER
''    Set MyJRT_COM = CreateObject("JRT_COM.TEST_MOELLER")
End If

gOfflineMode = inireadvalue(gIniPath, "General", "OfflineMode", "0")

gComDevice = inireadvalue(gIniPath, "General", "ComDevice", "Com1:19200")
If inireadvalue(gIniPath, "General", "ShowSelectComDevice", "0") = "1" Then
  If strComType = "MOELLER" Then
    bBusy = True
    If Module1.MyJRT_COM_MOELLER.SetComDevice(gComDevice, strLangue) = 0 Then
      Call iniwritevalue(gIniPath, "General", "ComDevice", gComDevice)
    End If
    bBusy = False
ElseIf strComType = "OMRON" Then
    bBusy = True
**********It point here**************************************************************
->    If Module1.MyJRT_COM_OMRON.SetComDevice(gComDevice, strLangue) = 0 Then
      Call iniwritevalue(gIniPath, "General", "ComDevice", gComDevice)
    End If
     bBusy = False
    End If
  End If
End Sub

只是你知道我没有写那些代码我只做一些mod工作。

第三种选择:

3-Help

它给了我另一个错误

Cannot find the windows help.

我该怎么办? ????之前有没有人遇到过这个问题?

1 个答案:

答案 0 :(得分:3)

知道了!我在vb项目中有两个依赖项“硬编码”,即使我将Microsoft VB IDE浏览到正确的文件,它也会尝试在错误的路径上加载两个.dll。我不得不将这些文件放在Microsoft VB5指定的路径中。问题解决了。