IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Utiliser des Assembly .Net dans Visual C++ 6.0


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    student
    Inscrit en
    Juin 2005
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activit� : student

    Informations forums :
    Inscription : Juin 2005
    Messages : 2
    Par d�faut 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 :

    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


  2. #2
    Candidat au Club
    Profil pro
    student
    Inscrit en
    Juin 2005
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activit� : student

    Informations forums :
    Inscription : Juin 2005
    Messages : 2
    Par d�faut
    J'ai r�solue le probl�me de compilation mettant le mot cl� raw_interfaces_only apr�s #import "ManagedServer.tlb"

    Par contre, � l'�x�cution, CoInitialize(NULL) et __uuidof(CManagedServer) se passent bien mais �a plante � la premi�re utilisation de m�thode (ici � ptr->SayHello("World") )

    : Quelqu'un a t'il de l'exp�rience dans ce domaine ?

Discussions similaires

  1. R�ponses: 1
    Dernier message: 18/04/2011, 17h21
  2. comment utiliser des images enregistr�es dans oracle dans mon application .Net
    Par dhay06 dans le forum Interfaces de programmation
    R�ponses: 1
    Dernier message: 18/06/2010, 11h58
  3. R�ponses: 4
    Dernier message: 03/10/2007, 12h59
  4. R�ponses: 1
    Dernier message: 16/08/2005, 18h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo