J'ai écrit une application dans VB.NET en utilisant MS Visual Studio 2005. J'utilise la version .NET '2.0.50727'. L'application fonctionnait sans erreurs jusqu'à récemment. Après avoir été utilisé pendant un certain temps, il commence à produire un System.Runtime.InteropServices.COMException error (80080005)
. L'erreur se produit lorsque je fais un appel pour produire une instance d'une autre application externe. Une fois que cette erreur s'est produite, elle ne disparaît jamais, se produisant chaque fois que mon application est ouverte. Cette erreur casse la fonctionnalité de mon programme car elle dépend de la 2ème application qu'elle appelle.Erreur COMException VB.NET
Je ne suis pas sûr de ce qui déclenche cette erreur, mais je sais que c'est spécifique à l'utilisateur et non l'application. Il semble être quelque chose qui se produit dans le profil Windows de l'utilisateur. Je peux utiliser un utilisateur différent sur la même machine ou créer un nouveau profil pour l'utilisateur avec le problème et le programme fonctionnera sans erreur pendant un moment. Finalement (dans quelques semaines) l'erreur reviendra et restera jusqu'à ce que je le résolve à nouveau. J'essaye de déboguer l'erreur de COM pour comprendre pourquoi ceci se produit mais c'est un comportement si étrange que je ne suis pas sûr par où commencer. Je n'ai jamais vu une erreur qui se connecterait à un profil et le rendrait persistant.
Je n'ai pas beaucoup d'expérience .NET mais j'ai fait beaucoup de programmation d'applications VB 6. S'il vous plaît offrir des suggestions que vous avez. Votre aide est grandement appréciée.
Voici le bloc de code où l'erreur se produit:
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
Je déclare la variable au sommet de ma forme de frmMain.vb (la première forme de chargement). Je charge l'objet COM lorsque le premier formulaire est chargé. Je le laisse actif jusqu'à la fermeture de l'application car je lui fais beaucoup d'appels.
Pouvez-vous donner votre code et fournir plus d'informations sur le COMException? Il devrait y avoir au moins un message texte dans l'exception. Il y a beaucoup de raisons pour COMExecptions. – Jan