Composant .Net Interop VB6

Olivier - 15 juil. 2016 à 11:39 - Dernière réponse :  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.
Afficher la suite 

7 réponses

ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 15 juil. 2016 à 11:55
0
Merci
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.
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention > Whismeril 11969 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 18 août 2018 Dernière intervention - 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 ...
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
cgandco 219 Messages postés mercredi 26 octobre 2011Date d'inscription 22 juin 2017 Dernière intervention > Olivier - 15 juil. 2016 à 15:14
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.
cgandco 219 Messages postés mercredi 26 octobre 2011Date d'inscription 22 juin 2017 Dernière intervention > cgandco 219 Messages postés mercredi 26 octobre 2011Date d'inscription 22 juin 2017 Dernière intervention - 15 juil. 2016 à 15:19
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
Bonjour,

merci à tous pour vos conseils.
A priori j'ai réussi ...
Composant.Net => Form.Net => Interop VB6 => VB6

Le seul souci qui me reste c'est des paramètres de couleurs qui sautent au niveau de l'interop ... ces paramètres disparaissent tout simplement de l'objet ...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.