2010-01-25 13 views
4

en double deCalling .NET methods from VB6 via COM visible DLLUtilisez .NET dans VB6 ou ASP classique

Quels moyens existent pour utiliser/appel les classes .NET/fonctions/bibliothèques (3.x .net) dans VB6 ou ASP classique? Quelqu'un a-t-il vécu cela? Quel effort est nécessaire pour envelopper .NET à COM? Y at-il des outils qui aident?

+1

Cette question n'est pas un double - il est une question très précise au sujet d'un problème avec une routine particulière. Cette question est beaucoup plus générale. – MarkJ

Répondre

1

Oui, c'est possible. .Net a des fonctionnalités pour générer un wrapper COM.

Ceci est couvert dans cette question: Calling .NET methods from VB6 via COM visible DLL

  • classes .net l'appel de VB6 se fait à l'aide d'une enveloppe COM. C'est la même chose dans 2.0 que dans 3.5. Cependant, il est supposé être beaucoup amélioré en 4.0.
  • L'effort est le même que travailler avec COM en général
  • en studio visuel il y a un paramètre « COM visible », si vous cochez cette VS fera beaucoup de travaux dont l'emballage
+0

Ceci est un commentaire, pas une réponse. –

+0

Cette question est différente - c'est une question très spécifique sur un problème avec une routine particulière. Cette question est beaucoup plus générale – MarkJ

0

vous pouvez faire des assemblages .NET exposent COM, vous pouvez donc accéder aux classes en toute langue technologie/programmation qui a le soutien de COM. Voir this link par exemple.

2

C'est en fait assez facile et j'ai créé des composants .NET appelés à partir de dll VB6 COM et ASP classique. Vous devez essentiellement créer un encapsulable COM qui expose le composant .NET à un client COM. Cet article va vous aider à démarrer

Calling a .NET component from a COM component

Un couple de pointeurs

  • Tous COM types appelables auront besoin d'un constructeur parameterless publique
  • Mark public les méthodes, les propriétés ou les événements que vous souhaitez exposer à COM.
  • C'est une bonne idée de explicitly implement an interface plutôt que de compter sur celle à générer dans votre classe pour vous.