Question

J'ai un C ++ DLL qui doit appeler une fonction (passer une valeur, le retour d'une valeur) dans une bibliothèque C # classe.

est ma seule option pour donner le C # DLL une interface COM et l'appeler de C ++ avec IDispatch?

Est-ce la meilleure méthode?

Était-ce utile?

La solution

Couple d'options disponibles pour vous ici

  1. Utilisez un mode mixte assemblage C ++ / CLI comme un pont entre le C ++ et C # DLL
  2. Utilisez le pont COM en exposant plusieurs des principaux types C # comme des objets COM. Cela peut ensuite être accessible via le code C ++ par la sémantique normale COM

Autres conseils

Ce projet Crée les exportations dll pour les méthodes statiques dans les classes. Vous pouvez ensuite appeler une méthode statique C # de code non managé.

Une approche qui fonctionnerait serait de l'appeler si COM. Vous pouvez utiliser l'outil Regasm pour créer la wrapper COM.

Ce n'est pas seule option .

Vous pouvez également compiler votre DLL C ++ en tant que DLL géré.

Vous pouvez héberger votre C # DLL en tant que service et à distance en elle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top