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

Windows Discussion :

[C] Problème de dll (chargement)


Sujet :

Windows

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Points : 4
    Points
    4
    Par défaut [C] Problème de dll (chargement)
    Bonjour

    je suis actuelement en train de développer un programme en C.
    Ce programme controle une carte d'acquisition analogique pour faire des mesures de tensions.

    cette carte à besoin, pour etre utilisé d'une dll.

    cette dll doit etre chargé au début du programme pour pouvoir utiliser les fonctions associés à la carte.

    le problème est que le programme refuse de me charche cette dll.

    j'ai tout bien fait comme l'exemple du manuel et pourtant, ça veut pas.

    HINSTANCE dllHandle=NULL;
    dllHandle=LoadLibrary("PCILabNT.dll");

    après le LoadLibrary, dllHandle est != de NULL en théorie, et je peut utilise la carte; or là, il reste NULL.

    PCILabNT.dll se trouve dans le dossier où je lance l'exe.

    Je ne sais plus quoi faire.

    Merci de vos réponse.

    Nikolas13

  2. #2
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    euhb est ce que tu as bien placé ta dll dans le repertoire de ton executable et/ou dans le répertoire de ton projet ?
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    oui, ma dll est bien placée dans le répertoire de mon exe et de mon projet.
    Nikolas13

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    1. Que retourne la fonction GetLastError()?
    2. As-tu essayé un FormatMessage() sur ce que retourne GetLastError() ?
    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.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    GetLastError() me renvoi 0
    nikolas13

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Pas normal si le handle est nul.
    On peut voir ton code?
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    FormatMessage(
    me dit que l'opération réussie

    nikolas13

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    je travail sous CVI

    voila le code où il ya le fameux problème
    nikolas13
    Fichiers attachés Fichiers attachés
    • Type de fichier : c Main.c (2,5 Ko, 48 affichages)

  9. #9
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Quand tu fais un LoadLibrary comme ça, en général la recherche a lieu dans le Path, il vaut mieux indiquer le chemin d'accès complet à la dll, où alors tu la mets dans le répertoire Windows.
    Le Format Message ne s'utilise pas comme ça. regarde ici
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    En fait, le FormatMessage() n'est pas trop mal utilisé, puisqu'il prend bien GetLastError() juste après le LoadLibrary(), l'erreur ne devrait donc pas être 0 si le handle est NULL...

    Par contre, tu aimes bien les variables globales, dis-moi...
    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.

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    j'ai essayé de charger la dll en indiquant le chemin complet . toujours le problème.

    sinon, oui j'aime bien les variables globales
    Nikolas13

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    bonjour

    ça y est, j'ai enfin réussi à charger la dll.
    le problème venait de la carte, elle était pas trop bien instalé, et si la dll ne se charchait pas, c'est parce qu'elle n'arrivait pas à initialiser quelquechose sur la carte.

    merci de votre aide.
    Problème résolu.

    Nikolas13

Discussions similaires

  1. Problème avec le chargement de dll (AssemblyResolve)
    Par Veler dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 25/10/2010, 08h11
  2. Réponses: 3
    Dernier message: 08/12/2004, 21h11
  3. Problème lors du chargement
    Par carlito dans le forum Flash
    Réponses: 26
    Dernier message: 06/01/2004, 15h21
  4. problème execution dll
    Par semenzato dans le forum MFC
    Réponses: 15
    Dernier message: 19/12/2003, 16h40
  5. Problème de DLL.
    Par Lunedor dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/11/2003, 10h17

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