Liaison entre un programme et une DLL (VB6)

guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 - 23 juin 2010 à 11:05
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 24 juin 2010 à 12:22
Bonjour à toutes et tous,

J'ai fait il y a bien longtemps une DLL sous VB6.
Je suis actuellement en train de faire un bout de programme sous VB 2008 Express et je veux utiliser cette DLL.
Lors de l'éxécution en source cela fonctionne très bien mais lorsque je publie le programme cela me créé une erreur : Cannot create ActiveX component.

Et dans les détails j'ai une ligne qui m'indique que le problème viendrait de : CreateObject (fonction qui me permet d'appeler ma DLL VB6).

Comment puis-je faire pour résoudre ce problème ?

Par avance merci

Olivier

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
23 juin 2010 à 13:04
Salut

Cette DLL-OCX est-elle correctement enregistrée dans la base de registres ?
--> Commande DOS : RegSvr32 monFichier.OCX
0
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
23 juin 2010 à 13:54
Bonjour jack,

J'ai bien enregistré la dll et j'ai même essayé d'appeler la DLL avec cette méthode :

Dim MaDll As New nomprojet.nomclass


au lien de :

Dim MaDll As Object
MaDll = CreateObject("nomprojet.nomclass")


Je ne comprends pas pourquoi cela ne fonctionne pas alors qu'en source cela fonctionne.

Par avance merci

Olivier
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 juin 2010 à 10:31
A mon avis, tu ne peux utiliser cette méthode d'instanciation que si l'OCX est de type EXE ActiveX

Avec une DLL ActiveX, je pense que tu ne peux instancier que la DLL
Dim MaDll As New nomprojet
après l'avoir ajouté aux références de ton projet .Net
0
guilleto Messages postés 256 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 20 mars 2013 1
24 juin 2010 à 10:47
Bonjour Jack,

Tu marques qu'il faut déclarer comme suit :
Dim MaDll As New nomprojet


Est-ce que cela signifie qu'il faut enlever le '.nomclass' ?

Si cette DLL appelle d'autres DLL (au format VB6) faut-il les mettre en référence au projet sous Visual Basic 2008 ?

Par avance merci

Olivier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 juin 2010 à 12:22
Désolé, je ne connais pas assez .Net pour te répondre
0
Rejoignez-nous