Bonjour le forum C++,
Je cherche à utiliser des assemblies .Net dans du code VC++ 6.0.
Les renseignement que j'ai trouvé par si par là mon poussé à procéder comme ceci :
1) Assembly Codé en C# (avec SharpDevelop) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 using System; using System.Runtime.InteropServices; namespace ManagedServer { [ClassInterface(ClassInterfaceType.AutoDual)] public class CManagedServer // public IManagedServer { public CManagedServer() {} public string SayHello(string r_strName) { string str ; str = "Hello " + r_strName ; return str ; } } }2) Je place l'assembly dans le projet C++ ainsi que dans le sous-répertoire \Debug
3) Puis j'enregistre dans la base de registres l'assembly et génère un tlb grace à la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 regasm /tlb:ManagedServer.tlb ManagedServer.dll
4) Je code comme ceci en VC++ 6.0 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #include "stdio.h" #import "ManagedServer.tlb" using namespace System; using namespace mscorlib; using namespace System::Runtime::InteropServicess; using namespace ManagedServer; int main(int argc, char* argv[]) { HRESULT hr = CoInitialize(NULL); _CManagedServerPtr ptr(__uuidof(CManagedServer)); printf("%s\n", ptr->SayHello("World") ); CoUninitialize(); return 0; }
==> Erreur à la compilation du style :
\debug\managedserver.tlh(62) : error C2501: '_TypePtr' : missing storage-class or type specifiers
Il ne semble pas trouver les definition de _TypePtr dans les fichier .tlh et .tli qui sont des fichiers auto-généré par Visual C++.
Je n'arrive pas résoudre ce problème.Quelqu'un aurait il une idée ?
D'avance Merci![]()
Nitram
![]()
Partager