posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

Si chiudono i battenti con Interoperability in C++

Una sessione tormentata quella di Kate, che si è inciampata su alcuni semplici esempi con COM e progetti Console.
La panoramica c'è conqunque stata e si sono prese in considerazione le varie strade.
Runtime Callable Wrapper  per l'interop da NET a COM, PInvoke e uso di progetti misti C++ managed/unmanaged. Qui le cose si fanno più complesse perchè mentre per gli exe non ci sono grossi problemi, nelle dll mischiare non conviene.
Per i cari vecchi oggetti COM, la soluzione che mi è piaciuta di più (anche se non è quella preferita da Kate) è quella del refactoring. Consiste nel migrare il codice C++ nativo in una dll pura. Quindi creare due distinti progetti uno COM ed uno .NET che fungano da wrapper per i due mondi, ottenendo così il massimo dell'usabilità del codice. Ma attenzione a non mettere tutto in un'unica dll!
Altro problema ad usare C++ managed in questi scenari è che C++ richiede la permission SkipVerification, in pratica vuole sempre Full Trust. Il problema non è facilmente aggirabile e richiede un po' di skill sull'argomento.

Print | posted on giovedì 3 luglio 2003 21:04 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET