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

Bibliothèques C++ Discussion :

Transformer une DLL en une autre


Sujet :

Bibliothèques C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Transformer une DLL en une autre
    Bonjour à tous,

    Je ne suis pas un expert en C++, mais plutôt débutant de chez débutant.
    Ma question est simple (ou presque...)

    J'ai une DLL avec son .LIB et son .H.
    La DLL seule est inutilisable, que ce soit en VB, Windev ou ailleurs.

    Mon objectif est de fabriquer une autre DLL avec les fonctions de la première, mais utilisable dans d'autres environnements tel VB ou WINDEV.

    Je ne sais pas si je suis clair, mais je sèche.

    Merci de vos lumières.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    ce que tu sembles vouloir faire est un adapteur.
    Tu écris ton code, utilisable en VB etc, qui utilise en interne la DLL précédente.
    Seule l'interface exposée doit être "VB-compliant", le code derrière étant camouflé à l'utilisateur.

    Par contre, ce n'est pas le genre de projet forcément facile pour un "débutant de chez débutant".

    Si ton langage destination est dans la liste, je te conseille l'utilisation de SWIG.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Bonjour,

    ce que tu sembles vouloir faire est un adapteur.
    Tu écris ton code, utilisable en VB etc, qui utilise en interne la DLL précédente.
    Seule l'interface exposée doit être "VB-compliant", le code derrière étant camouflé à l'utilisateur.

    Par contre, ce n'est pas le genre de projet forcément facile pour un "débutant de chez débutant".
    En fait, je vais en dire un peut plus sur la raison.

    Je suis le développeur du CRM de mon entreprise, et je souhaite coupler la téléphonie IP à ce superbe outil (développé en Windev).
    Depuis Windev on peut appeler une DLL qui a ses fonctions "exportable", mais impossible de passer par un .LIB comme en CPP.
    Cette DLL vient du SDK du constructeur et permet de piloter les téléphones, mais cette DLL n'est utilisable que depuis CPP (d'ou le .LIB et le .H).

    l'objectif est de créer une DLL unique avec ses fonctions (donc celle de la DLL source) visible depuis n'importe quel environnement de DEV.

    On peut donc appeler cela un adaptateur...

  4. #4
    Futur Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Bon, je n'ai pas du m'exprimer correctement.

    J'ai une A.dll et un A.lib (mais aussi le .def et le .a).
    A.dll ne peut pas être utilisé sans A.lib.

    Or, je souhaiterai obtenir une b.dll qui serait un mix de a.dll et de a.lib pour pouvoir l'utiliser de n'importe quel environnement de dev, comme n'importe quelle API.

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par miekisiak Voir le message
    Bon, je n'ai pas du m'exprimer correctement.

    J'ai une A.dll et un A.lib (mais aussi le .def et le .a).
    A.dll ne peut pas être utilisé sans A.lib.

    Or, je souhaiterai obtenir une b.dll qui serait un mix de a.dll et de a.lib pour pouvoir l'utiliser de n'importe quel environnement de dev, comme n'importe quelle API.
    Si j'ai bien compris, tu as une DLL C++ (A.dll) que tu souhaite utiliser avec d'autres langages.

    Si c'est le cas, pas le choix : il va falloir écrire un adapteur en C, et exporter les fonctions C qui appellent les méthodes C++ en faisant, si nécessaire, les conversions qui s'imposent.

    Si ce n'est pas le cas, bin, j'ai pas compris
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Merci pour la réponse,

    EN fait, si j'ai bien compris d'après mes recherches sur le net on appel cela "wrapper" une DLL.
    L'idéal même serait de la wrapper en un assemblage .net

    Mais je suis bien incapable de faire cela, vu que je ne connait que peu C++.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  2. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. utiliser une dll dans une dll
    Par anthonycosson dans le forum MFC
    Réponses: 2
    Dernier message: 09/05/2006, 21h42
  5. Réponses: 2
    Dernier message: 31/08/2005, 16h12

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