Utiliser une dll.NET dans VB6

VbNicoG Messages postés 127 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 septembre 2019 - 12 oct. 2010 à 16:00
VbNicoG Messages postés 127 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 septembre 2019 - 13 oct. 2010 à 08:46
Bonjour,

Je ne suis pas sûr d'être dans le bon thème pour ce post...
Ma question concerne VB.NET et VB6.

En fait, j'ai une dll développé sous VS2008 en VB.NET.
J'aimerai pouvoir l'utiliser dans une application vb6. Or quand j'essaie de la référencer dans vb6, j'ai une erreur "Can't add this reference".

1/ Est ce possible ?
2/ Comment faire ? J'ai trouvé des choses sur le fait de compiler la dll sous forme de COM Object mais je n'ai rien trouvé de clair et précis et ça ne fonctionne pas.

PS : je connais peu vb6, je sais juste qu'il n'utilise pas le framework.

Merci

4 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
12 oct. 2010 à 17:52
Il faut effectivement générer une DLL COM et non un assembly .NET ...
Tutopour VS2003, ça a probablement un peu changé dans les versions actuelles.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
VbNicoG Messages postés 127 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 septembre 2019
12 oct. 2010 à 18:29
Merci pour ta réponse,
Mais dans le tuto, il ne parle pas de COM Class...

Je suis retourné avec VS2003, j'ai effectivement un item qui s'appelle Com Class, j'arrive à compiler une dll que j'arrive à référencer dans VB6.
Seulement, je n'arrive pas à accéder aux fonctions dans VB6 (c'est un autre problème)...

J'aimerai avoir accès à cet item (COM Class) dans VS2008. Quelqu'un sait où je peux trouver ça ?
Et si par hasard quelqu'un sait pourquoi je n'accède pas à mes fonctions de ma dll dans vb6, ça serait bien aussi (j'ai l'erreur "Activx can't create object")...

Merci
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
12 oct. 2010 à 20:55
Va dans My Project -> Compile et coche Register for COM interop et ça devrait aller. Par contre, pas d'intellisense en VB6 pour l'objet.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
VbNicoG Messages postés 127 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 6 septembre 2019
13 oct. 2010 à 08:46
Bonjour,

Cette case à cocher ne semble pas exister dans VS2008!
La seule chose qui y ressemble est une case à cocher dans MyProject -> Application -> Assembly information -> Make assembly COM Visible mais je n'arrive toujours pas à la référencer dans Vb6.

Avec VS2003, j'arrive à faire une dll qui peut être référencé mais comme dit précédemment, je n'y accède pas, j'ai l'erreur "Activex can't create object"

Je ne sais plus quoi faire ...
Une idée ?
0
Rejoignez-nous