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

C++/CLI Discussion :

communication entre C# et Dll C++ utilisant l'ATL [Fait]


Sujet :

C++/CLI

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut communication entre C# et Dll C++ utilisant l'ATL
    Bonjour,

    après de nombreuses recherches je ne trouve pas de réponses satisfaisantes pour mon problème.
    Je developpe une application dont toute la partie graphique est en C# et la partie traitement est dans un projet ATL C++ j'arrive à communiquer via une interface COM du C# vers le C++ mais j'aimerais pouvoir capturer un évenement ATL venant de ma Dll C++ avec un objet C#.
    Pouvez-vous m'éclairer un peu sur ce point ?

    Je sais que c'est réalisable en VB.net mais je n'arrive pas a faire une transcription en C#.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Si c'est faisable en VB.NET, c'est faisable en C#... tu as essayé le convertisseur ?
    http://convertisseur.developpez.com/converter.aspx

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Je ne savais pas que ca existait.
    Je vais essayer.

    Merci.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Apparement je sais pas utiliser le convertiseur car je n'obtiens rien d'exploitable.

  5. #5
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    tu peux regarder des principes d'interop sur ces deux tutoriels : http://nico-pyright.developpez.com/t...vc2005/interop et http://nico-pyright.developpez.com/t...c2005/interop2

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    J'ai déjà etudié les tutoriels en liens mais comme j'utilise ATL et que ca fonctionne un peu en boite noire je n'ai pas reussi à appliquer les concepts décrits dans les tutoriels en utilisant les fonctionnalités de l'ATL.

    J'ai trouvé ce tutoriel http://www.codersource.net/atl_tutor...roperties.html qui explique bien ce que je voudrais réaliser mais l'interface est codée en VB.net et je n'arrive pas a convertir l'explication 22 du tutoriel:

    22.Now let modify our Visual Basic application to handle events

    Private Obj As SIMPLEATLCOMLib.SimpleObj

    Change it to

    Private withevents Obj As SIMPLEATLCOMLib.SimpleObj

    This help us to implement Events, look this figure for more Clarity

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Quelqu'un peut-il m'expliquer comment faire le Sink permettant de lier un client ATL en C# à un point de connexion d'un objet ATL en C++ ?

    Merci d'avance

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Salut tout le monde,
    j'ai finalement réussi à trouver la solution tout seul.
    Le problème venait sans doute de la facon dont j'ai mis ma classe ATL en référence c'est à dire que je l'ai liée par l'onglet projet ce qui fait qu'à la compilation l'appel à Tlbimp n'a pas dû avoir lieu et donc je devais ne pas avoir accès au delegate automatiquement crée par Tlbimp.

    Au début je croyais que je devais moi-même executer Tlbimp je n'ai appris qu'au bout d'un nombre de recherches que lors de l'ajout du composant COM en référence le compilateur faisais l'appel à Tlbimp

    Merci à ceux qui m'ont répondu.

    Chafouin

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 17
    Dernier message: 04/09/2010, 19h57
  2. Réponses: 4
    Dernier message: 21/08/2009, 10h48
  3. communication entre agents sous eclipse utilisant la plateforme JADE
    Par ASSOUMA2007 dans le forum Programmation par agent
    Réponses: 2
    Dernier message: 24/12/2008, 12h29
  4. Réponses: 2
    Dernier message: 28/03/2007, 11h32
  5. communication entre un projet DLL et une application
    Par ferry.jules dans le forum C++Builder
    Réponses: 95
    Dernier message: 22/05/2006, 20h06

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