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# Discussion :

Creation Dll en C# destinée à un env. C++ win 32


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Ingénieur industrialisation et test
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur industrialisation et test
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Creation Dll en C# destinée à un env. C++ win 32
    Bonjour,

    Je souhaiterais savoir si il est possible, et quels sont les contraintes, de création d'une Dll en C# sous Visual Studio 2008 puis d'utiliser celle ci en C++ win32 (non .net) sous C++ Borland.

    Il y t il compatibilité avec tous les types?

    Peux t on créer une dll destinée à la fois en .net et à Win32?

    J'ai une trouvé l'option sous Visual Studio->Proprietés du projet->Générer->Inscrire pour COM interop est ce que cela résoudra mon problème?

    Merci par avance.

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Bah en fait la méthode "propre" c'est de créer un vrai composant COM qui sera utilisable en C++.
    Il y avais une vidéo ... à ça y est, regarde ce que propose badger_man
    http://www.developpez.net/forums/m4014547-5/

  3. #3
    Membre à l'essai
    Profil pro
    Ingénieur industrialisation et test
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur industrialisation et test
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Merci pour ce bon lien!

  4. #4
    Membre à l'essai
    Profil pro
    Ingénieur industrialisation et test
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur industrialisation et test
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    D'aprés vous est il possible de tester ma DllCOM (écrite en C# et COM visible = true) dans un projet visual studio 2008?

    En faisant ajouter un référence->onglet COM sur ma DllCOM je reçoit le message d'erreur suivant:
    > La bibliothéques de types ActiveX 'pathSln\DllCOM.tlb' à été exporter à partir d'un Assembly .Net et ne peut être ajouter en tant que référence.
    Ajouter une référence assemblie .Net à la place
    Ce qui marche en revanche c'est la création d'un client VB6 pour ma DllCOM.

    Cordialement

  5. #5
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Ben ...
    Comment tu rajoutes la référence au fait ? via "Ajouter une référence" > onglet "COM" > etc ?

  6. #6
    Membre à l'essai
    Profil pro
    Ingénieur industrialisation et test
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur industrialisation et test
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Oui exactement via "Ajouter une référence" > onglet "COM" >

    Dans ta précédente réponse tu me conseil de créer un "vrai composant COM" tu entend quoi par "vrai"? ComVisible(true) ne créer pas réellement un composant COM?

  7. #7
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Bah si tu peut utiliser ta dll C# à partir de VB 6 c'est que ça devrais être bon ... en C++ ça donne quoi l'utilisation de cette dernière via COM ?

  8. #8
    Membre à l'essai
    Profil pro
    Ingénieur industrialisation et test
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur industrialisation et test
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Bonjour Smyley,

    En effet l'utilisation d'un composant COM sous C++ Builder fonctionne! C'est plutôt rassurant.

    Cependant, l'application cliente de ma dll est une application qui n'accepte que des librairies de fonctions Win32. (non COM et non .NET)

    Est ce quelque chose de faisable en VS C#?
    Est il possible d'effectuer un export des fonctions de ma DllCOM.dll en un fichier DllCOM.DEF ?

    Merci de ton aide.

  9. #9
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par Yo_du_06 Voir le message
    Cependant, l'application cliente de ma dll est une application qui n'accepte que des librairies de fonctions Win32. (non COM et non .NET)

    Est ce quelque chose de faisable en VS C#?
    Pas directement (c'est possible avec des tricks en MSIL mais bon ...).
    En fait, il n'y a pas de moyen simple en C# d'exporter directement des fonctions vers le monde natif. Mais tu as plusieurs possibilités :
    - Si tu peut programmer en C++/CLI (Visual C++ 2008) tu peut créer une dll mixte (managé+natif) qui va faire la transition. A partir du C++/CLI il est en effet possible d'exporter du code natif tout en utilisant du code .NET (je trouve assez beau d'ailleurs )
    - Si tu n'as pas Visual C++ 2008, tu peut garder ta dll en C#, créer une dll en C++ qui l'utilise et dans cette dernière exporter les fonctions que tu veux utiliser dans ton programme (et faire la transition)
    - Sinon tu peut chercher sur google tout ce qui es relatif à Inverse P/Invoke : ça va te donner des liens sur COM, mais aussi sur d'autre trucs relatifs à ça.

  10. #10
    Membre à l'essai
    Profil pro
    Ingénieur industrialisation et test
    Inscrit en
    Mars 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur industrialisation et test
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Du coup je pense creer ma Dll en Visual C++, je vais chercher de ce côté là.

    Donc merci Smyley pour ce panel de solutions!

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

Discussions similaires

  1. Creation DLL réutilisable avec WinDEv
    Par CTotophe85 dans le forum C++
    Réponses: 2
    Dernier message: 09/09/2008, 16h25
  2. Creation dll et utilisation dans appli C#
    Par moulefrite dans le forum Windows Forms
    Réponses: 5
    Dernier message: 19/08/2008, 09h46
  3. probleme creation dll
    Par devin59 dans le forum C#
    Réponses: 3
    Dernier message: 21/01/2008, 20h54
  4. creation dll et wmf
    Par CaptainChoc dans le forum C++
    Réponses: 7
    Dernier message: 17/08/2006, 23h26
  5. creation DLL dev-cpp
    Par gaut dans le forum Dev-C++
    Réponses: 4
    Dernier message: 29/01/2004, 18h15

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