繁体   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