Utiliser des Assembly .Net dans Visual C++ 6.0
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 :
:arrow: 1) Assembly Codé en C# (avec SharpDevelop) :
Code:
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 ;
}
}
} |
:arrow: 2) Je place l'assembly dans le projet C++ ainsi que dans le sous-répertoire \Debug
:arrow: 3) Puis j'enregistre dans la base de registres l'assembly et génère un tlb grace à la commande :
Code:
1 2
|
regasm /tlb:ManagedServer.tlb ManagedServer.dll |
:arrow: 4) Je code comme ceci en VC++ 6.0 :
Code:
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. :idea: Quelqu'un aurait il une idée ?
D'avance Merci :)
Nitram
:tagcode: