Précédent   Forum du club des développeurs et IT Pro > C et C++ > C++ > Bibliothèques
Bibliothèques Forum d'entraide sur les bibliothèques C++ : installation, utilisation. Avant de poster : Cours sur les bibliothèques C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/10/2012, 16h29   #1
miekisiak
Invité régulier
 
Inscription : novembre 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 12
Points : 6
Points : 6
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.
miekisiak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2012, 16h35   #2
Bousk
Modérateur
 
Homme Cyrille
Network programmer
Inscription : juin 2010
Messages : 1 542
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Network programmer

Informations forums :
Inscription : juin 2010
Messages : 1 542
Points : 4 080
Points : 4 080
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.
Bousk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2012, 16h55   #3
miekisiak
Invité régulier
 
Inscription : novembre 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 12
Points : 6
Points : 6
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...
miekisiak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 16h17   #4
miekisiak
Invité régulier
 
Inscription : novembre 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 12
Points : 6
Points : 6
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.
miekisiak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2012, 17h47   #5
Emmanuel Deloget
Expert Confirmé Sénior
 
Homme Emmanuel Deloget
Développeur informatique
Inscription : septembre 2007
Messages : 1 826
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel Deloget
Âge : 37
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 826
Points : 4 381
Points : 4 381
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.
Emmanuel Deloget est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2012, 15h53   #6
miekisiak
Invité régulier
 
Inscription : novembre 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 12
Points : 6
Points : 6
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++.
miekisiak est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h40.


 
 
 
 
Partenaires

Hébergement Web