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++Builder Discussion :

Utilisation de DLL Microsoft


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 164
    Par défaut Utilisation de DLL Microsoft
    Bonjour à toutes et à tous,

    J'aimerais savoir si quelqu'un d'entre vous a déjà réussi à instancier sous C++ Builder XE2 des classes exportées depuis une DLL développée sous Visual Studio C++ 2010 ?

    Merci par avance,

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 164
    Par défaut
    Merci Crayon pour les liens, je vais lire tout ça;
    J'ai essayé d'utiliser les utilitaires IMPDEF et IMPLIB, mais cela ne fonctionne pas bien, en fait, les 2 formats des fichiers DEF entre Visual Studio C++ et XE2 ne se ressemblent pas trop, du coup, j'avais pensé pour utiliser ces utilitaires, quitte à modifier à la main les fichiers DEF, mais je ne comprend pas comment passer de l'un à l'autre ...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 164
    Par défaut
    Après lecture, il s'avère que la partie "5. Utilisation statique d'une DLL "étrangère" n'est possible que sur des DLL comportant des méthodes et non pas des classes ...

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    J'ai eu affaire à une DLL en Visual aussi voir DLL mélange export C et C++

    j'ai joué avec implib et tdump
    Avec un fichier IMPDEF, j'ai pu générer un fichier DEF pour retirer les décorations mais une DLL sans décoration m'a été fournie, je n'ai pas eu besoin de conserver cette bidouille

    le mieux pour le moment reste la génération du fichier LIB par ImpLib mais uniquement pour les fonctions exportées pas pour les classes

    le fichier LIB qui est différent entre MS et Borland,
    le fichier DEF qui n'est qu'un simple fichier texte, je sais que MS supporte ? dans le nom des fonctions mais pas BCB, j'ignorais que ce fichier pouvait contenir autre chose !
    MS ne respecte souvent pas les normes du C++ strict pas plus que BCB et chacun les siennes !

    Pour ce qui concerne des classes dans une DLL, j'ai tendance à considérer cela comme une mauvaise pratique pour de l'interopérabilité car compatible avec presque aucun langage, une DLL doit exporter des API avec des types bien défini (idéalement des types Windows) et au besoin des interfaces que l'on utiliserait presque comme du COM
    D'ailleurs, je ne pratique pas l'utilisation statique lui préférant LoadLibrary\GetProcAddress pour un meilleur contrôle du chemin, ne pas avoir une dépendance permanente mais juste ponctuelle sur un module, ...

    J'avais mémoire d'un sujet sur "classes C++ exportables" mais il était déjà de toi, cela ne semble pas fréquent comme demande !
    Toujours la même DLL ?
    Tu en es l'auteur ?
    Es-tu obligé d'utiliser cette DLL, tu n'as pas d'autres lib qui font la même chose mais plus "ouverte"

    Pourquoi ne pas faire une DLL Intermédiaire en Visual C++ qui encapsule cette classe dans un objet COM, cela t'éviterait toutes ces misères !

    A savoir que les BPL c'est justement la variante "classes Delphi exportables" utilisé dans C++Builder et les BPL sont strictement utilisables en Delphi\BCB de même version de compilateur
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 164
    Par défaut
    Merci pour tes précisions ShaiLeTroll

    Je pense effectivement que nous allons passer par un objet COM, (ou ActiveX), encapsulant les classes désirées. Pour la DLL non, je ne suis pas l'auteur, mais j'ai le source, vu que c'est un projet "Open Source"

Discussions similaires

  1. [DLL] utiliser une DLL a partir d' une DLL et un .def
    Par venomelektro dans le forum MFC
    Réponses: 9
    Dernier message: 07/12/2004, 14h01
  2. utilisation de dll avec diverses compilateurs
    Par Thylia dans le forum C++
    Réponses: 30
    Dernier message: 21/10/2004, 16h30
  3. Utilisation de dll
    Par portu dans le forum Windows
    Réponses: 7
    Dernier message: 02/03/2004, 23h09
  4. Utilisation de dll
    Par David E dans le forum MFC
    Réponses: 11
    Dernier message: 04/02/2004, 14h09
  5. [CR] Infos sur l'utilisation de dll
    Par step dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 09/08/2002, 11h35

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