我已經使用MS Visual Studio 2005在VB.NET中編寫了一個應用程序。我正在使用.NET版本'2.0.50727'。直到最近,該應用程序運行沒有錯誤。使用一段時間後,它開始產生一個System.Runtime.InteropServices.COMException error (80080005)
。當我打電話來產生另一個外部應用程序的實例時,會發生錯誤。一旦發生這個錯誤,它永遠不會消失,每次我的應用程序打開時都會發生。這個錯誤打破了我的程序的功能,因爲它依賴於它所調用的第二個應用程序。VB.NET COMException錯誤
我不確定發生這種錯誤的原因是什麼,但我知道它是用戶特定的而不是應用程序。它似乎是在用戶的Windows配置文件中發生的事情。我可以在同一臺機器上使用不同的用戶,或者爲有問題的用戶創建一個新的配置文件,程序在一段時間內無錯誤地工作。最終(在幾周內),錯誤將會返回並保留,直到我再次解決它。 我想調試COM錯誤,以瞭解爲什麼會發生這種情況,但這是奇怪的行爲,我不知道從哪裏開始。我從來沒有見過將自己連接到配置文件並導致其持久性的錯誤。
我沒有很多.NET的經驗,但我做了很多VB 6應用程序編程。請提供您的建議。非常感謝您的幫助。
這裏就是發生錯誤的代碼塊:
Public Class frmMain
Public btApp As BarTender.Application
Private Sub frmMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
btApp = New BarTender.Application
Catch COMex As Runtime.InteropServices.COMException
MessageBox.Show("Error " + COMex.ErrorCode.ToString() + ": " + COMex.Message)
End Try
我在frmMain.vb形式的頂部(第一形式加載)聲明變量。 加載第一個窗體時加載COM對象。我將它保持活動狀態,直到應用程序關閉爲止,因爲我撥打了很多電話。
你可以告訴你的代碼和COMException異常嗎?例外中至少應該有一個文本消息。 COMExecptions有很多原因。 – Jan 2008-10-20 16:04:53