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

Langage C++ Discussion :

probleme DLL dataseg appelée par un exe


Sujet :

Langage C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 74
    Points : 33
    Points
    33
    Par défaut probleme DLL dataseg appelée par un exe
    Bonjour,

    Je rencontre un problème lors de l'execution de mon application.

    Mon processus fait appelle à un singleton. Ce singleton permet de charger une DLL qui contient un data seg (zone de donnée partagée) utilisée par plusieurs processus.

    Le problème est que lorsque mon processus est lancée, mon singleton est chargée via un #pragma comment et j'ai une message box qui s'affiche à l'écran qui m'indique que la DLL "dataseg" est introuvable. Je ne demande pas de charger cette DLL mais je pense que windows essaie de charger le data seg en ram. Le problème est qu'il cherche la DLL dans le repertoire courant alors que cette DLL se trouve dans un autre repertoire et je ne sais pas comment lui indiquer le repertoire ou se trouve cette DLL ( option du projet?). Si j'ajoute la DLL dans le meme repertoire que mon exe, il n'y a plus de problème mais cela ne me convient pas.

    Quelqu un aurais t il une solution?

    je vous remercie.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    C'est en anglais mais cela indique comment est recherchée une DLL : Dynamic-Link Library Search Order
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 74
    Points : 33
    Points
    33
    Par défaut
    OK, je comprend mieux merci.

    Dans mon cas, ma DLL n'est presente ni dans le répertoire de mon exe, ni dans le repertoire système. Il me reste à vérifier le repertoire courant mais je ne pense pas que ce soit le bon non plus.
    Si j'ai bien compris encore, pour que mon application fonctionne correctement, j'ai plusieurs choix:

    - soit j'installe ma DLL dans le repertoire de mon exe (j'ai vérifier, cela fonctionne mais je ne veux pas "melanger" exe et DLL)

    - soit j'ajoute dans PATH le liens vers mon repertoire DLL.

    - soit je donne le repertoire de ma DLL avec SetDllDirectory.

    - soit je change le repertoire courant via une fonction windows (dont je ne me souviens plus du nom).


    La première solution ne me conviens pas. La seconde me parraît correct mais si j'utilise cette solution, je devrais ajouter dans PATH lors de chaques installations de mon application sur un nouveau PC le liens vers mes DLL.
    Les deux dernières solution quand à elles ne sont pas possible je pense puisque le problème intervient lors du chargement de mon processus et je pense que SetDllDirectory n'est valable que pour le processus même.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/04/2013, 19h57
  2. Problème de dll LabView appelée par Delphi
    Par kamanu dans le forum Débuter
    Réponses: 6
    Dernier message: 28/08/2008, 11h40
  3. [AJAX] AJAX appelé par AJAX
    Par hanphi dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/04/2008, 10h10
  4. Probleme DLL delphi, appels aux fonctions
    Par bouzaidi dans le forum Delphi
    Réponses: 4
    Dernier message: 11/04/2007, 14h04
  5. [VB6] création dll win32 et appel par un autre programme
    Par Tankian85 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 10/03/2006, 08h21

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