簡體   English   中英

VB.NET COMException錯誤

[英]VB.NET COMException Error

我已經使用MS Visual Studio 2005在VB.NET中編寫了一個應用程序。我正在使用.NET版本“ 2.0.50727”。 直到最近,該應用程序仍在正常運行。 使用一段時間后,它開始產生System.Runtime.InteropServices.COMException error (80080005) 當我進行調用以生成另一個外部應用程序的實例時發生錯誤。 一旦發生此錯誤,每次打開我的應用程序時都不會消失。 此錯誤破壞了我程序的功能,因為它依賴於它正在調用的第二個應用程序。

我不確定是什么導致了此錯誤的發生,但是我確實知道它是用戶特定的而不是應用程序。 它似乎是在用戶的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對象。 我將其保持活動狀態,直到應用程序關閉,因為我對其進行了多次調用。

聽起來錯誤與安全性有關。 一段時間后,它會神奇地發生在新用戶上,我將研究您的用戶策略定義。 密碼會在一段時間后過期嗎? 新用戶是否具有根據您的應用程序使用情況填充的臨時目錄(因此會導致磁盤不足錯誤被掩蓋為COM異常)? 什么是第三方應用程序? 我們在這里缺少一些細節。 但是這些是一些要開始研究的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM