Composant .Net Interop VB6

Olivier - 15 juil. 2016 à 11:39
 Olivier - 19 juil. 2016 à 08:22
Bonjour à toutes et tous,
J'ai réalisé un composant en VB.NET, que j'intègre aisément dans un projet .Net et cela fonctionne.
Toutefois je souhaite l'intégrer dans un projet VB6 sans dégrader le contrôle en lui-même.
Je cherche donc à créer un contrôle Interop VB.NET vers VB6 dans lequel se trouverait mon contrôle .Net tel qu'il est actuellement dans mon projet .Net ...
1°) Est-ce possible ? Actuellement c'est à ce niveau là que je bloque ...
2°) Si oui, comment faire ?
Par avance merci de votre aide et si je ne suis pas assez clair merci de me le dire.

1 réponse

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
15 juil. 2016 à 11:55
Bonjour,
1) Quel type de composant as-tu créé sous VB.Net
2) a-t-il été composé en 32 bits ou 64 bits ?
3) ce composant est-il totalement indépendant ou lui-même dépendant de fonctions et/ou composants de VB.Net ?
Les voilà, les questions à se poser avant d'aller plus loin.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
15 juil. 2016 à 13:21
Bonjour Uc, il est impossible d'écrire un code VB.Net sans dépendance à la framework.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211 > Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024
15 juil. 2016 à 13:32
Bonjour, Whismeril,
Je me demande alors comment il pourra se servir de ce composant en VB6 sans installer en plus ce framework ...
0
Bonjour,
Merci de votre intérêt.
Pour répondre à ucfoutu : Si je prends directement ce contrôle est que je le mets en Interop avec VB6 je peux l'intégrer dans mon programme VB6.
Le but étant de ne pas dupliquer le code (.net et Interop vb6) pour ne pas devoir réaliser les mêmes modifications à 2 endroits différents. Je souhaite donc intégrer mon contrôle .net dans un autre contrôle Interop vb6 (ou autre système comme une classe d'un formulaire contenant mon contrôle .net) me permettant de l'utiliser sans souci.

Sauf erreur de ma part si mon contrôle dégradé en Interop fonctionne sous vb6 cela indique que ma demande doit bien avoir une solution ... non ?

Par avance merci
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9 > Olivier
Modifié par cgandco le 15/07/2016 à 15:25
Bonjour,

Qu'appelles tu un contrôle "dégradé" ?

J'ai personnellement créé un contrôle utilisateur .Net qui contient un WebBrowser et qui est exposé en COM. (qui me permet d'incorporer jusqu'un IE11 en vb6 contrairement au DHTML)

et une dll en C# qui contient un formulaire pour l'envoie de mails.

ils fonctionnent en vb6 et en .net.

quelques difficultés à l'utilisation.

le contrôle utilisateur qui aurait du être un activex (mais pas possible en .Net) est une DLL.
je ne parviens pas à le faire apparître dans les contrôles de vb6 mais il est possible de l’incorporer avec un create object.

pour le formulaire en dll c'est inpec.

première petite url
http://dung-tri.developpez.com/tutoriels/dotnet/activex-az-ie-com-interop/

Bonne journée.
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9 > cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017
Modifié par cgandco le 15/07/2016 à 15:26
de plus,

rien n’empêche de créer un contrôle utilisateur vb6 qui ne fait que contenir le controle .net et qui le retaille sur sa propre dimension.

une restriction qui me vient à l'esprit, en vb6 la surchage de methode n'est pas possible. Tu devras donc créer nouveau nom de methode pour chaque surcharge.

pas vraiment un problème, tu crée une méthode par surcharge et tu les appelles leur donnent un nom, tout en gardant l'avantage des surcharges pour le .Net
0
Rejoignez-nous