Récupération événements objets COM (déjà codé) [Résolu]

Signaler
Messages postés
72
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
12 février 2008
-
Messages postés
72
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
12 février 2008
-
Bonjour,

Je débute en C# sur VS2003 sous WXP Pro.
Je développe une application Windows dans laquelle j'inclus un objet COM déjà codé ayant des événements.

Ma question est donc la suivante: comment faire pour récupérer les événements de l'objet COM ajouté?

Merci d'avance pour vos retours.

6 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
Surtout pas dans InitializeComponent  , dans le constructeur de ta forme par exemple. Si ce n'est pas un évènement statique tu dois allouer l'objet avec 'new' avant, sinon tu as une référence 'null', d'ou le message d'erreur je pense.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
Salut, c'est la même chose qu'avec un objet .NET. Dans l'explorateur de projet de Visual Studio double clique sur ton objet COM ça va ouvrir l'explorateur d'objets et tu verras le nom des événements qu'il possède.
Messages postés
72
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
12 février 2008

Merci pour l'info.

Peux-tu me dire comment je peux lever un de ses événements?

J'ai fait une inscription à l'événement au gestionnaire d'événements mais j'ai l'erreur suivante: "La référence d'objet n'est pas définie à une instance d'un objet"
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
Tu ne peux pas lever l'un de ses évènements.. seul l'objet qui contient l'évènement peut le lever. Mais tu peux t'inscrire à cet évènement :

MyObject myObject = new MyObject( );
myObject.DoSomething += new EventHandler( MyObject_DoSomething );




private void MyObject_DoSomething( object sender, EventArgs e )
{
 // ..
}
Messages postés
72
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
12 février 2008

OK!

Dernière question: où dois-je inclure ce code? J'ai essayé dans la région InitializeComponent du form.cs mais là j'ai toujours l'erreur suivante:
"La référence d'objet n'est pas définie à une instance d'un objet"
Messages postés
72
Date d'inscription
mardi 16 avril 2002
Statut
Membre
Dernière intervention
12 février 2008

Ouah! C'est impeccable.

Merci pour tout