Bah...
Ca dépends.
Un ActiveX est un objet contenu courrament dans une DLL ou dans un fichier OCX.
Si ce fichier fait lui-même appel à un autre ActiveX qui n'est pas installé, alors oui, ça peut planter.
Mais ça ne fera certainement pas ton erreur, mais plutôt "Can't create ActiveX object, PROGID not found".
Cependant, dans la plupart des cas, pour utiliser un ActiveX (à moins qu'il soit directement lié au projet) tu as par contre besoin d'enregistrer la librairie dans la BDR. Tu ne risques rien à le faire plusieurs fois, ça ne fera pas d'erreur s'il est déjà enregistré.
Pour enregister une DLL (et ainsi rendre disponible ses classes/objets) ouvre une console et tape :
regsvr32 la_bibliothèque.dll |
(ou regsvr tout court si tu n'est pas sous NT/2K/XP)
"la_bibliothèque.dll" est le nom complet (chemin inclu s'il est dans un autre répertoire) de la DLL ou de l'OCX à enregistrer.
Pour désinscrire une bibliothèque, c'est la même syntaxe, met avec le commutateur "/u" (pour "unreg" )
A ce moment, la DLL ne sera plus disponible pour les autre programmes (obligatoire si tu dois recompiler la DLL par exemple, puisque tant qu'elle est inscrite, tu auras de gros problèmes d'accès dessus, à cause du DLLHOST qui conserve souvent la main sur les DLL même si aucun programme ne les utilise)
Sinon, pour ton problème, poste ton code qui pose problème, indique le langage, quelle DLL s'est et tout... Parceque avec juste un message d'erreur sans même savoir quel langage c'est, c'est pas évident
PS (dernier) : généralement, ce message est levé lorsque le constructeur de l'objet appelé à échoué. Ca peut être pour plusieurs raisons : ressources insuffisantes, droits insuffisants, mauvaise version de DLL, etc.