Не удается отладить проект VB5
Я полагаю, чтобы внести изменения в одну из очень старых программ, которые моя компания. продажи. Это проект VB5.
Просто чтобы быть ясно, я не могу сменить язык и должен АБСОЛЮТНО использовать VB5.... (Если бы я мог перейти на C#, я был бы самым счастливым человеком на земле прямо сейчас.)
Здесь проблема.
Я установил Microsoft Visual Basic IDE и загрузил файл.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.
Что я делаю??? У кого-нибудь была такая проблема раньше???
1 ответ
Понял! У меня было две зависимости, "жестко запрограммированные" в проекте vb, которые пытались загрузить два.dll по неправильному пути, даже если бы я просматривал Microsoft VB IDE в нужном файле. Я должен был поместить эти файлы в путь, указанный Microsoft VB5. И проблему решить.