2013-10-22 62 views
2

我想對我公司的一款非常舊的軟件進行更改。銷售。它是一個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 

只要你知道我還沒有寫代碼,我只是做了一些工作的國防部。

第三種選擇:

3-Help 

它給了我另一個錯誤

Cannot find the windows help. 

我該怎麼辦???有沒有人有過這個問題?

回答

3

Got it!我在vb項目中有兩個「硬編碼」的依賴關係,即使我將Microsoft VB IDE瀏覽到正確的文件,它也會嘗試在錯誤的路徑上加載兩個.dll文件。我必須將這些文件放在由Microsoft VB5指定的路徑中。並解決問題。