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

Visual C++ Discussion :

Problème de démarrage de l'appli si la dll n'est pas présente


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Points : 20
    Points
    20
    Par défaut Problème de démarrage de l'appli si la dll n'est pas présente
    Bonjour à tous,

    J'ai créé une petite dll WIN32 comprenant quelques fonctions et classes.

    Au démarrage de l'appli je charge la dll, et je peux l'utiliser sans problème.

    Le souci est que j'ai dû lier l'appli au fichier .lib associé à la dll.
    Cela fait que si je supprime la dll, et que je veux lancer l'appli, celle-ci plante en disant que la dll n'est pas présente.

    J'aimerais bien trouver un moyen de lancer l'appli même si la dll n'est pas là.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Points : 20
    Points
    20
    Par défaut
    Je viens de supprimer la dépendance du fichier .lib à mon projet et j'utilise la fonction GetProcAddress. J'accède bien aux fonctions. Et je rajoute un test pour savoir si le module est bien chargé.

    Voili voilou.

  3. #3
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par JSmey Voir le message
    Au démarrage de l'appli je charge la dll, et je peux l'utiliser sans problème.
    Comment tu procèdes (code) ? LoadLibrary(), GetProcAdress() ?
    Citation Envoyé par JSmey Voir le message
    Le souci est que j'ai dû lier l'appli au fichier .lib associé à la dll.
    Normal, tu utilises donc une liaison statique, qui fait que la DLL sera incluse dans ta DLL Win32.
    Citation Envoyé par JSmey Voir le message
    Cela fait que si je supprime la dll, et que je veux lancer l'appli, celle-ci plante en disant que la dll n'est pas présente.
    Il semblerait que tu aies gardé ton chargement de la DLL alors que tu n'en as plus besoin vu que tu la lies maintenant de manière statique.

  4. #4
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par JSmey Voir le message
    Je viens de supprimer la dépendance du fichier .lib à mon projet et j'utilise la fonction GetProcAddress. J'accède bien aux fonctions. Et je rajoute un test pour savoir si le module est bien chargé.

    Voili voilou.
    Soit tu lies ta librairie dynamiquement en utilisant la DLL via un LoadLibrary() et des GetProcAdress(), soit tu la lies statiquement en incluant le .lib et l'interface (.h) de la librairie à ton projet.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Points : 20
    Points
    20
    Par défaut
    Bonjour spoutspout, merci pour tes réponse.

    Oui, je charge la Dll de manière dynamique au moyen de LoadLibrary() et puis je fais un GetProcAdress().

    La dll fonctionne convenablement.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/06/2011, 00h36
  2. Réponses: 7
    Dernier message: 22/03/2011, 11h55
  3. Réponses: 7
    Dernier message: 22/02/2011, 15h11
  4. Réponses: 2
    Dernier message: 28/11/2007, 15h34
  5. Problème de démarrage d'appli jDeveloper sur TOMCAT 5.0.28
    Par habasque dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 07/07/2007, 02h14

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