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 en managé pour soft qui s'attend à du natif : possible ?


Sujet :

C++/CLI

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut DLL en managé pour soft qui s'attend à du natif : possible ?
    Bonjour à tous.

    Je m’essaie depuis quelques temps à la programmation .NET en utilisant C# et je me heurte actuellement à un problème.

    J’utilise un logiciel (très probablement écrit en C++) qui effectue un traitement de données sur mon PC. Ce soft me laisse la possibilité de lui fournir une DLL afin d’effectuer des tâches supplémentaires (que j’aurais écris dans la DLL) à la fin de son traitement.

    Ce soft s’attend à trouver systématiquement dans la DLL que je lui fournis des noms de fonctions précises.

    En voici un échantillon type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void FinTraitement( /*I*/ char NomTache[], /*I*/ double Duree, /*O*/ short *Init, /*O*/ char Message[]);
    /*I*/ signifiant paramètre d’entrée et /*O*/ paramètre de sortie.

    Alors voilà je ne connais pas du tout le C++, DLL et interop COM me sont un peu étrangers. Après mes diverses recherches j’ai réussi à cerner un peu mieux les DLL et maintenant je suis confronté au managé/non managé.

    D’une part là ou le soft s’attend à des fonctions dans ma DLL, en C# on parle de classes, propriétés et méthodes.

    Ensuite j’ai pu lire çà et là qu’il faudrait écrire ma DLL bibliothèque de classe C# en utilisant des interfaces puis de générer une type library (.tlb) pour indiquer au programme appelant ma DLL un point entrant (et diverses autres informations j’imagine).
    Et là çà coince, dans les exemples que j’ai vu le programme appelant doit faire un #IMPORT du fichier .tlb en question.
    Hors je n’ai aucun moyen de modifier le code du logiciel que j’utilise (et ce n’est pas le but d’ailleurs).

    Est il possible d’écrire une DLL en managé et de la rendre compatible par un moyen ou par un autre à un soft écrit en C++ sans avoir besoin de modifier ce soft ?

    Merci beaucoup.

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Citation Envoyé par Mantiss Voir le message
    D’une part là ou le soft s’attend à des fonctions dans ma DLL, en C# on parle de classes, propriétés et méthodes.
    AFAIK, Il n'existe aucun moyen d'exposer une "fonction" (au sens C duterme) en .Net

    Après on peut envisager divers solutions : une DLL en C++/CLI qui cause avec ton soft d'un coté et avec du .Net de l'autre (je ne sais pas si on peut exposer une fonction en C++/CLI car, en général, on a le besoin inverse: consommer des fonctions dans d'ancienne DLL C/C++ - je n'ai jamais été soumis au cas que tu présente, je n'ai pas de solution toute faite; ce qui est sur c'est qu'il y en a une, mais pas forcément simple).

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bon effectivement çà ne doit pas être simple. Je ne pense pas avoir les connaissances nécessaires pour le moment. Je vais mettre cette question sur l'oreille, essayer de faire ce que je veux en C++ natif et j'y reviendrais après.

Discussions similaires

  1. Récupération des DLLs utilisés par un soft
    Par chris_wafer_2001 dans le forum MFC
    Réponses: 7
    Dernier message: 21/11/2005, 14h58
  2. IIS + Apache + mysql...pour ceux qui ont déjà installé
    Par ludophil dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 15/10/2005, 02h21
  3. Réponses: 9
    Dernier message: 18/08/2005, 10h37
  4. dll builder c++ pour projet visual..?
    Par iznotek dans le forum MFC
    Réponses: 6
    Dernier message: 12/01/2005, 00h03

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