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 :

[MFC] Objet COM et thread !?


Sujet :

MFC

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 92
    Points : 55
    Points
    55
    Par défaut [MFC] Objet COM et thread !?
    Bonjour,

    Je développe une application qui doit communiquer avec une autre application par objet COM.

    Déjà, je n'y connais pas grand chose au objet COM...

    Mais avec quelque exemple et le MSDN j'ai pu faire une fonction qui interroge et récupère une valeur numérique avec les COM.

    Par contre si j'apple cette fonction a partir d'un thread cela na fonctionne plus.

    Si quelqu'un a des infos la dessus, peut-il me donner un coup de main?

  2. #2
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 35
    Points : 38
    Points
    38
    Par défaut
    Tu dois initialser COM dans le thread avant de pouvoir l'utiliser. tu peux le faire avec 'CoInitialize' (plus simple) ou 'CoInitializeEx'.

    Initialiser avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CoInitialize(NULL);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
    Dans le second on a plus de possibilité (voir MSDN).

    Après tu dois désactiver avec:


  3. #3
    Membre éclairé
    Avatar de matazz
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 471
    Points : 668
    Points
    668
    Par défaut
    Exact et si tu veus utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CoInitializeEx(NULL, COINIT_MULTITHREADED);
    comme j'en avait besoin t'est obliger d'ajouter dans ton .h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define _WIN32_DCOM
    #include "objbase.h"

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    Merci,

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 06/06/2007, 12h42
  2. [Définition] Objet COM
    Par Etanne dans le forum Windows
    Réponses: 4
    Dernier message: 19/08/2004, 18h44
  3. Objet COM ou pas en réseau ?
    Par corwin_d_ambre dans le forum Web & réseau
    Réponses: 11
    Dernier message: 13/07/2004, 17h38
  4. [objets COM] "Catastrophic failure"
    Par Air'V dans le forum ASP
    Réponses: 5
    Dernier message: 10/09/2003, 11h45
  5. Désenregistrement d'Objets COM sous Windows
    Par barthelv dans le forum Windows
    Réponses: 2
    Dernier message: 21/05/2003, 15h11

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