1

MS Visual Studio 2005 を使用して VB.NET でアプリケーションを作成しました。.NET バージョン '2.0.50727' を使用しています。アプリケーションは最近までエラーなしで実行されていました。しばらく使用すると、 が生成され始めますSystem.Runtime.InteropServices.COMException error (80080005)。別の外部アプリケーションのインスタンスを生成する呼び出しを行うと、エラーが発生します。このエラーが発生すると、アプリケーションが開かれるたびに発生し、消えることはありません。このエラーは、呼び出している 2 番目のアプリケーションに依存しているため、プログラムの機能を壊します。

このエラーが発生する原因はわかりませんが、アプリケーションではなくユーザー固有であることはわかっています。これは、ユーザーの 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 オブジェクトを読み込みます。多くの呼び出しを行うため、アプリケーションが閉じるまでアクティブのままにします。

4

1 に答える 1

1

エラーはセキュリティに関連しているようです。一定期間後に新しいユーザーに魔法のように発生する場合は、ユーザーポリシーの定義を確認します。パスワードは一定期間後に期限切れになりますか?新しいユーザーには、アプリケーションの使用状況に基づいていっぱいになる小さな一時ディレクトリがありますか(したがって、COM例外としてマスクされるディスク不足エラーが発生します)?このサードパーティアプリケーションとは何ですか?ここでは詳細が少し不足しています。しかし、それらは見始めるべきいくつかのことです。

于 2008-10-20T15:22:30.270 に答える