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 :

Dll C++ avec MFC utilisée en C#


Sujet :

C++/CLI

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Par défaut Dll C++ avec MFC utilisée en C#
    Bonjour,
    Je pense que la question a déjà été posée moulte fois, mais, je n'arrive pas à synthétiser tout ça pour arriver à mes fins...

    Je souhaite créer une "bibliothèque de classes", développée en C++, et utilisant les MFC.

    Ces classes seront utilisés dans une application C#.

    1) quel type de Dll utiliser ? On s'y perd avec toutes les options
    2) comment rendre les classes visible de l'application en C# ?

    J'ai compilé avec /clr ; j'ai ainsi pu référencer mon projet C++ dans le projet C#, mais je ne trouve pas comment dérouler la liste des classes disponibles dans l'assembly. Y a-t-il un namespace à définir dans la dll ?

    Merci d'avance.

    Nicolas
    Strasbourg

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Par défaut
    voilà j'ai pu trouver un code intéressant

    Si qqn peut me donner plus de détails sur les wrappers.
    Ce qui me dérange dans le code trouvé, c'est que les MFC ne sont pas utiliées.

    Il s'agit d'un projet de type "librairie de classes" CLR, et non pas d'un "projet Win 32" de type "Dll" avec "utilisation des MFC"

    Je me sens un peu pommé dans toutes ces configurations

    Nicolas
    Strasbourg

  3. #3
    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
    Par défaut
    si tu veux en faire une assembly et l'utiliser facilement à partir de C#, il faut faire un projet "CLR library"
    si tu fais une DLL "classique", il te faudra jongler avec l'interop pour l'utiliser en C#

    mais vu que tu compiles avec /clr, tu as tout à fait interet à faire une assembly, ca sera plus simple à tous niveau, et le mieux, serait d'avoir un wrapper pour avoir une interface pure .net en C++/CLI

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Par défaut
    Et comment tu utilises les MFC dans la dll ?
    using ...? # include ...?

    J'ai aussi des #include de drivers hard à utiliser dans cette dll

  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
    Par défaut
    comme tu le ferais pour une dll classique
    using mfc in a shared dll
    include afx etc ...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 200
    Par défaut
    J'ai actuellement une librairie de fonctions C++ avec MFC non managée.
    Est-il judicieux de la passer en managée ou je la laisse tel quel ?
    Si je rajoute l'option /clr, j'ai le Warning suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Avertissement	3	warning LNK4099: PDB 'mfcm80ud.i386.pdb' n'a pu être trouvé avec 'C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfcm80ud.lib' ou sur 'c:\Mon Projet\debug\mfcm80ud.i386.pdb' ; l'objet sera lié sans informations de débogage	mfcm80ud.lib
    L'objectif, c'est de pouvoir accéder aux fonctions en C#, avec un
    Le propotype des fonctions sera ainsi connu de l'application en C#.

    Merci d'avance et bon WE

    Nicolas
    Strasbourg

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

Discussions similaires

  1. Utiliser une DLL Delphi avec C#
    Par h8ciz dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/09/2007, 16h46
  2. Réponses: 5
    Dernier message: 11/01/2007, 08h53
  3. Utilisation de dll personelle avec VB.NET
    Par yakay dans le forum VB.NET
    Réponses: 1
    Dernier message: 14/12/2006, 09h18
  4. utilisation dll creer avec visual studio
    Par CaptainChoc dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 17/08/2006, 22h07
  5. [MFC][DLL]Dialog Avec ActiveX dans une DLL ?
    Par matazz dans le forum MFC
    Réponses: 1
    Dernier message: 16/05/2005, 16h36

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