我想更改我的合作伙伴之一的旧软件。销售。它是一个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.
我该怎么办? ????之前有没有人遇到过这个问题?
答案 0 :(得分:3)
知道了!我在vb项目中有两个依赖项“硬编码”,即使我将Microsoft VB IDE浏览到正确的文件,它也会尝试在错误的路径上加载两个.dll。我不得不将这些文件放在Microsoft VB5指定的路径中。问题解决了。