我应该对我的公司的一个非常老的软件进行修改。销售量。这是一个VB5项目。
为了澄清,我不能改变语言,必须绝对使用VB5.(如果我能换到C#,我现在会是世界上最幸福的人。)
这就是问题所在。
我安装了并在其中加载了.VBP文件。
我阅读代码是为了知道哪个部分做了什么,但是我希望一步一步地在屏幕上看到它(带有断点的调试模式)。
所以,我输入了一些断点,并点击了"play“(调试按钮),但是我得到了这个错误。
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这样你就知道我没有写那些代码,我只是在做一些国防部的工作。
第三种选择:
3-Help这又给了我一个错误
Cannot find the windows help.我该怎么办?以前有人有这个问题吗?
发布于 2013-10-22 13:47:59
明白了!我在vb项目中有两个“硬编码”依赖项,即使我浏览Microsoft以找到正确的文件,也会尝试在错误的路径上加载两个.dll。我必须将这些文件放在由Microsoft VB5指定的路径中。和解决问题。
https://stackoverflow.com/questions/19518218
复制相似问题