A ma connaissance, il n'est pas possible de créer un vrai Ocx directement en DotNet : j'entends par "vrai" Ocx un contrôle ActiveX que l'on peut insérer partout, exactement comme ceux que l'on faisait par exemple en VB6. Par contre on peut créer une dll ActiveX en DotNet, qui ne pose pas de difficulté à être intégrée dans un projet VB6, mais guère plus : elle n'a pas d'interface utilisateur, et ne peut donc pas s'insérer dans l'ensemble des conteneurs ActiveX, qui sont innombrables. La solution est donc là : il suffit de faire un Ocx en VB6 qui utilise notre dll ActiveX en DotNet, c'est tout !
Voici les étapes pour y arriver sans problèmes (cf. doc.) :
- Utiliser le modèle "Classe COM" (template) pour VB 2008
- Adapter votre projet pour en faire une dll ActiveX en DotNet
- Créer en VB6 un Ocx utilisant la dll ActiveX en DotNet
- Utiliser l'Ocx en VB6 : ClientVB6
Source / Exemple :
Cf. zip.
2 janv. 2010 à 12:51
Pour ma part si le problème était recurant je me limiterais a créer un template dans VS et la question serait bouclé sur la "difficulté" repetitive avec du CodeDom + T4
2 janv. 2010 à 10:26
http://blogs.msdn.com/vbteam/archive/2008/03/05/interopforms-toolkit-visual-studio-2008-edition.aspx
mais alors bon courage !!! cela m'à l'air tout de même extrêmement compliqué (plus compliqué que ma solution en tout cas ; pourquoi ne pas avoir fait un toolkit pour VS 2008 tout simplement ?). Moralité : l'interopérabilité m'a l'air beaucoup compliqué que de franchement migrer en VB 2008, n'est-ce pas ?
8 déc. 2009 à 08:22
7 déc. 2009 à 18:35
Vu qu'on peux séparer le build en .net, il est possible de compiler dans le même assembly du C#, du C++ CLI et du C++ natif
pourquoi utiliser un runtime dont un peux se passé et qui commence a se faire plus que vieux ?
Autant ton code est fort intéressant est bien expliqué, autant la régression dans la techno est difficilement compréhensible, après tout tout l'ocx aurait pu être fait en VB6
7 déc. 2009 à 11:46
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.