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

VC++ .NET Discussion :

Appeler une m�thode depuis dll C#


Sujet :

VC++ .NET

  1. #1
    Membre tr�s actif
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    427
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 427
    Par d�faut Appeler une m�thode depuis dll C#
    Bonjour,

    je charge une dll en C#

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    System::Reflection::Assembly^ MyAssembly = System::Reflection::Assembly::LoadFrom(csharpdll);
    je voudrais depuis ma dll en C# appeler une m�thode qui se trouve dans ma dll en C++

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    void test(String str)
    {
        Console::WriteLine(str);
    }
    Merci

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 503
    Par d�faut
    >qui se trouve dans ma dll en C++
    Qu'entendez-vous par "en C++" ?
    Le C++ n'a pas d'ABI permettant l'interop�rabilit� directe entre composants, m�me s'il y a du C++ de chaque c�t�.

    L'extrait de code que vous nous montrez est du C++/CLI.

    Le C# est capable d'acc�der aux m�thodes manag�es impl�ment�es en C++/CLI exactement de la m�me mani�re que les m�thodes impl�ment�es en C#, car .NET d�finit une "ABI".

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Bien que techniquement possible, une DLL n'est pas "cens�e" acc�der librement aux m�thodes de l'appelant.
    Passe-lui plut�t une interface (ou des delegates, possiblement via le syst�me d'�v�nements de .Net).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [POO] appeler une m�thode depuis une m�thode statique
    Par recherche888 dans le forum MATLAB
    R�ponses: 1
    Dernier message: 18/03/2016, 12h57
  2. [PrestaShop] Appeler une m�thode depuis une template
    Par taka10 dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 1
    Dernier message: 14/02/2015, 07h04
  3. [Objective-C] Appeler une m�thode depuis une autre classe
    Par luisitoafk dans le forum Objective-C
    R�ponses: 10
    Dernier message: 04/03/2014, 22h23
  4. Appeler une m�thode depuis une "classmethod"
    Par monnomamoi dans le forum G�n�ral Python
    R�ponses: 4
    Dernier message: 31/05/2009, 01h50
  5. Appeler une m�thode de DLL
    Par nox75 dans le forum Windows
    R�ponses: 9
    Dernier message: 08/12/2008, 11h34

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