Domanda

Ho una DLL C ++ che ha bisogno di chiamare una funzione (passare un valore, restituisce un valore) in una libreria di classe C #.

è la mia unica opzione per dare il C # DLL di un'interfaccia COM e chiamare da C ++ con IDispatch?

E 'questo il metodo migliore?

È stato utile?

Soluzione

Coppia di opzioni disponibili per voi qui

  1. Utilizzare una modalità mista C ++ / CLI assieme come un ponte tra il C ++ e C # DLL
  2. Utilizza il ponte un COM esponendo alcuni dei tipi di chiave C # come oggetti COM. Questo può quindi accedere tramite il codice C ++ da normali semantica COM

Altri suggerimenti

Questo progetto crea esportazioni dll per i metodi statici in classi. Si potrebbe quindi chiamare un metodo statico C # da codice non gestito.

Un approccio che avrebbe funzionato sarebbe chiamarlo però COM. È possibile utilizzare lo strumento Regasm per creare la COM wrapper.

Non è la solo .

Si può anche compilare il DLL C ++ come una DLL gestita.

Si potrebbe ospitare il vostro C # DLL come un servizio e remota in esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top