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 :

[DLL] point d entrée


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut [DLL] point d entrée
    salut

    j ai un problème : sans raison apparente, la fonction point d entrée de ma DLL n'est plus appelée par le LoadLirbrairy

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _hDll=LoadLibrary(sDllFilePathName);
    Le fichier existe bien a cette URL (sDllFilePathName).

    Dans la sortie text je vois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'SystMan.exe'*: Chargé 'madll.dll', Les symboles ont été chargés.
    'SystMan.exe'*: Déchargé 'madll.dll'
    Cela a toujours marché precedeamment. Mais depuis ce matin...
    Quels changement pourrais influencé ce comportement ? Pourquoi est elle dechargé tout de suite ?

    Si je met un breakpoint à l'interieur de la fonction point d entrée, il ne sera jamais atteint (symbole point d arret + point d'interogation).



    ma fonction point d entrée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extern "C" int APIENTRY DllMain(HINSTANCE _hInstance, DWORD _dwReason, LPVOID _lpReserved)

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Ce qui aurait pu se passer, c'est que tu recompiles ton projet qui fait le link avec la dll avec de nouvelles versions du Run-Time ou des MFC.
    Ou que des redist des ATL/MFC/CRT soient effacées sur ton serveur.
    Qu'y-a-t'il eu comme migrations faites ou comme changements d'environnement de dév ?

    Déjà, la première chose à faire est un View depends sur ta dll voir s'il ne lui manque rien.

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    LoadLibrary() échoue, donc, n'est-ce pas ?
    Tu devrais regarder la valeur d'erreur...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par Médinoc
    LoadLibrary() échoue, donc, n'est-ce pas ?
    Tu devrais regarder la valeur d'erreur...
    LoadLibrary() retourne un NULL;
    tu pensais à GetLastError() ?

  5. #5
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par ep31
    Déjà, la première chose à faire est un View depends sur ta dll voir s'il ne lui manque rien.
    explique moi ce que c est et comment le faire STP.

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    En effet : Que retourne GetLastError() ?

    PS: Pour voir les dépendances, tu peux utiliser Dependency Walker (depends.exe).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    126 --> The specified module could not be found.
    pourtant le fichier .dll est bien present dans le repertoire.

  8. #8
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    L'erreur 126 peut être à propos d'une DLL ou une de ces dépendances.
    Donc, regarde les dépendances de la DLL avec depends.exe, pour trouver laquelle n'est pas correctement chargée...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. Managed DLL : déclaration des points d'entrée
    Par zeiht dans le forum Framework .NET
    Réponses: 1
    Dernier message: 06/06/2007, 16h31
  2. VB .Net 2003 - DLL - point d'entrée introuvable
    Par Malebogia dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/09/2006, 18h04
  3. Point d'entrée d'une fonction dans une DLL
    Par Muetdhiver dans le forum MFC
    Réponses: 5
    Dernier message: 15/02/2006, 23h49
  4. Export DLL et noms des points d'entrée
    Par Dozer dans le forum MFC
    Réponses: 5
    Dernier message: 03/06/2005, 09h49
  5. visualiser les points d'entrée d'un dll
    Par DenisLorrain dans le forum Windows
    Réponses: 4
    Dernier message: 06/07/2004, 00h20

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