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

MFC Discussion :

GetCurrentThreadId et DLL : est-ce compatible ?


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    D�tails du profil
    Informations personnelles :
    �ge : 51
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : System Integration Project Manager
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par d�faut GetCurrentThreadId et DLL : est-ce compatible ?
    Bonjour a tous,

    je viens a vous avec un pb qui ne me semble pas simple mais n'etant pas un expert des DLLs, j'espere me tromper ...

    Voici le pb : j'ai ecrit un systeme de plugin qui se base sur les DLLs (+ ou - comme pr�sent� quelque part sur developpez.com)
    Ma DLL s'appuie sur une bibloth�que-tiers compil�e en /MT (runtime link� en static) ; la DLL est egalement compil�e en /MT (je n'ai pas le choix on utilise cette option)
    Cette bibloth�que-tiers d�finit une variable globale de classe C. Cette classe C fait appel, dans son contructeur a la fonction GetCurrentThreadId

    Des qu'une methode de mon plugin doit utiliser un composant de cette biblioth�que-tiers, l'appli crashe.

    Pour l'instant, j'ai 2 pistes :
    - un "static order initialization chaos" mais comme l'erreur est repetable ca me parait suspect...
    - un pb avec GetCurrentThreadId li� au fait qu'on travaille en /MT

    J'ai essay� de retarder le plus possible l'utilisation d'element de cette bibloth�que-tiers de mani�re a ce que l'appli (de test pour le moment) existe
    mais ca ne change rien..

    Mes questions sont les suivantes:
    - est-ce que la DLL peut connaitre le ThreadId de l'appli appelante avec le mode /MT. (info: Je n'ai pas cod�e de fonction DllMain)
    - est-ce qu'utiliser GetCurrentThreadId est une bonne id�e dans mon contexte ? Y aurait-il une alternative pour connaitre de mani�re sure le ThreadId de l'appli qui charge une DLL ?
    Je peux intervenir un peu sur cette lib mais le - possible

    Toute autre question pouvant me faire voir la verit� est la bienvenue...

    Vincent

  2. #2
    Membre �clair�
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    D�tails du profil
    Informations personnelles :
    �ge : 51
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : System Integration Project Manager
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par d�faut
    au cas ou quelqu'un se retrouverait un jour dans la meme situation :
    GetCurrentThreadId semble crash� lorsqu'on load une DLL avec LoadLibrary.
    Ca me parait logique car au chargement, la DLL n'a probablement pas de lien (si elle doit en avoir un) avec l'executable qui l'a charg�e.

    donc il faut mieux eviter d'utiliser cette fonction dans l'init d'une DLL

    enfin, ce n'est que le retour de ma toute pitite experience avec les DLLs...

    V

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 7
    Dernier message: 11/09/2006, 16h44
  2. MSVCR71D.DLL est manquante
    Par Steph12 dans le forum Visual C++
    R�ponses: 9
    Dernier message: 11/09/2006, 08h35
  3. Ce code est-il compatible ?
    Par pablo8 dans le forum Mon site
    R�ponses: 18
    Dernier message: 23/06/2006, 16h39
  4. La fonction fgets est-elle compatible Windows/Unix ?
    Par ashurai dans le forum Langage
    R�ponses: 1
    Dernier message: 05/04/2006, 17h59
  5. Noyau du deboggeur BORDBK41.dll est manquant ou non rescenc�
    Par Colinbayard dans le forum C++Builder
    R�ponses: 3
    Dernier message: 08/12/2004, 00h09

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