COM

giovedì 23 ottobre 2003 - 11.42

schifidus Profilo | Junior Member

io ho bisogno di utilizzare classi realizzate in c++ nell'ambiente .NET in particolare c#.
Avevo pensato di modificare le classi c++ per renderle COM...
é un lavoro fattibile ? dopo riuscirò a sfruttare completamente le classi in c#.. premetto che sono classi complesse che si collegano anche a db ORACLE.
Che altra soluzine mi consigli? ciao e grazie

Brainkiller Profilo | Guru

Ciao,
la soluzione non pare così semplice. Ancora meno lo è se il codice che devi migrare è composto da molti moduli e molte righe. Puoi seguire diversi approcci. O mantenere il tutto in C++ e migrare il progetto a Visual C++ 7.0 in modo da continuare a usare C++ ma con l'ambiente di sviluppo nuovo ammesso che tu non l'abbia già fatto, oppure partire con un nuovo progetto C# e tramite l'interoperabilità richiamare le funzionalità contenute nelle classi C/C++, oppure ancora migrare il progetto a Visual C++ 7.0 però inserire delle procedure che utilizzino le classi .NET all'interno del codice C++. Io ho provato e il risultato non è male. Basta mettere qualche include nel tuo programma C++ e hai accesso a tutte le classi del Framework. La cosa è comoda in particolare se utilizzi operazioni sulle stringhe e cose simili.
C'è da ricordare però che se immergi codice .NET in codice C++ forse è necessario anche allegare il framework anche se ho letto da qualche parte che c'è un'opzione per compilare tutto anche il codice .NET in codice nativo. Su questo devi informarti.

Non so se magari li hai già visti, ci sono due articoli, uno che spiega come creare delle DLL in C++ (molto banale) e un altro su come utilizzare da .NET le funzioni esposte da una DLL C/C++, eccoli:

Creare una DLL in Visual C++ 6.0 - DotNetHell
http://www.dotnethell.it/articles/article.aspx?ArticleID=72

Come sfruttare le funzioni di una DLL unmanaged esterna creata in C/C++
http://www.dotnethell.it/articles/article.aspx?ArticleID=73

Fammi sapere.
Ciao
David De Giacomi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5