Instancier un objet com en dynamique

cs_cedkat Messages postés 172 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 3 juin 2011 - 24 mai 2007 à 08:24
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 24 mai 2007 à 21:41
Bonjour,

Je doit faire une petite application qui doit utiliser un objet com fournit par une autre application. Le problème et que mon appli doit fonctionner même si l'autre application n'est pas installée et à forciori le serveur com non plus. Et je ne vois pas comment intancié l'objet com dans le cas où il est installer.
Donc problème rencontré :
- Détection de l'existance de l'objet com.
- Instanciation en dynamique de l'objet com.

Une solution ?

Merci

CedKat

2 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
24 mai 2007 à 20:09
Bonjour,
Si ton objet COM est enregistré et présent sur ton poste de dév, ajoute à ton projet une référence à celui .
Dans ton code dans un bloc Try...Catch instancie-le (mécanisme Early Binding) 

Try
{
   TonObjetCOM MyObjet = new TonObjetCOM()
   .....
}
Catch
{
   .....tu gère ton erreur
}

et si tu te retrouves dans le Catch alors il n'est pas enregistré ou présent sur le poste ou ton appli tourne.
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
24 mai 2007 à 21:41
salut,

tu peux tester si la dll com est installée par Type.GetTypeFromCLSID ou par Type.GetTypeFromProgID...puis si tu récupère un Type, alors tu peux utiliser Activator.CreateInstance pour en créer une instance...

ShareVB
0
Rejoignez-nous