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

C++ Discussion :

Objet ActiveX (COM) sous C++ (Visual C++ ou pas)


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 18
    Points
    18
    Par défaut Objet ActiveX (COM) sous C++ (Visual C++ ou pas)
    Bonjour,

    Je viens à vous pour une question d'ordre général sur la création des objets ActiveX.
    Je me demandais si certans d'entre vous connaissez un tutoriel pour créer ces objets en C/C++. J'ai bon cherché, j'ai vraiment du mal à trouver quelque chose qui soit clair.
    Sur Developpez.com par exemple, on trouve tout une page dédié à ActiveX et VB, mais il semblerait que l'on n'est rien sur ActiveX et C++.
    Avec Visual C++, il existe des projets de type ATL ou MFC, qui à priori permet de créer ces objets. Je viens juste d'arriver dans le domaine des ActiveX, alors je m'y perd un peu. Connaissez-vous un tutoriel simple qui me permet de me faire la main étape par étape ?

    Je vous remercie par avance pour l'aide que vous m'apporterez.

    Très cordialement,

    RakZ.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Salut l'ami,

    Je m'en étais fais un avec le bloc-note pour comprendre le fonctionnement, et je ne peux que trop te conseiller l'ATL qui est prévu spécifiquement pour cela. Pour l'interface graphique, il y a WTL, que je n'ai jamais utilisé.

    Le tutoriel de base est celui-ci :
    http://www.codeguru.com/cpp/com-tech...rticle.php/c17

    Si tu as des questions, je reste à disposition, dans la limite de mes connaissances bien entendu.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 18
    Points
    18
    Par défaut
    Salut à toi l'ami !
    Merci pour ce lien. Je vais suivre ça et j'te donnerais des nouvelles. En tout cas, merci pour les conseils, je vais effectivement commencer par un projet ATL si c'est plus simple.

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 18
    Points
    18
    Par défaut
    Bonjour nadojazz.
    J'ai suivis le tuto. Il est en effet très bien fait pour débuter.
    Parcontre, il semble qu'il y a un problème en JavaScript.
    En effet, il arrive à trouver l'objet ActiveX, mais il n'arrive pas à appeler les méthodes.
    Est-ce que tu as déjà rencontré ce genre de problème ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Tu utilises internet Explorer pour tester ?

    Si tu veux passer des chaînes de caractères de l'activex vers javascript (ou l'inverse), il faut utiliser des BSTR.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 18
    Points
    18
    Par défaut
    Oui j'utilise bien internet explorer.
    Je suis sous windows 7 64bits.

    J'ai l'impression qu'il ne me reconnait même pas la méthode.
    Pour faire simple, je te donne les lignes suivantes :

    Code ActiveX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    //----------------------
    interface IFirst_ATL : IUnknown{
       [helpstring("méthode Test")] HRESULT Test(void);
    };
     
    //----------------------
     
    STDMETHODIMP CFirst_ATL::Test(void)
    {
       // TODO*: ajoutez ici votre code d'implémentation
     
       return S_OK;
    }
     
    //-------------------------
    Dans JavaScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //---------------------
    function Test() 
    {            
       var Ttt = new ActiveXObject("Simple_ATL.First_ATL");          
       Ttt.Test() ;
    }
    //---------------------
    Le message d'erreur dans IE c'est "ObjetaAttendu" à la ligne "Ttt.Test()". Ce que je traduis par "méthode non trouvé"

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 18
    Points
    18
    Par défaut
    Je cherche juste un premier programme qui fonctionne histoire de l'utiliser comme "pattern" mais ça semble pas évident...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    je viens de tester chez moi ça fonctionne.

    javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
      <head>
        <script language="JScript">
          function Get() 
          {
    	   var Ttt = new ActiveXObject("Simple_ATL.First_ATL");          
    	   Ttt.Test() ;
          }
        </script>
      </head>
      <body onload="javascript:Get()">
      </body>
    </html>
    as-tu essayé sans "[helpstring("méthode Test")]" ?

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 18
    Points
    18
    Par défaut
    Sous IE avec la barre d'état affiché ? car il n'y a pas de message d'erreur, juste une "erreur sur la page" dans la barre d'état.

    Je suis entrain d'essayer avec une machine XP 32 bits au cas ou mais bon...

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 18
    Points
    18
    Par défaut
    ça y est problème résolu.
    En fait dans le tutoriel, lors de la création d'une classe, il faut conserver les paramètres par défaut et non pas les modifié. Une fois cela faite, chez moi ça marche nickel.

    Merci beaucoup nadojazz pour tout ton aide

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

Discussions similaires

  1. Executer un objet COM sous L'ide
    Par ricky78 dans le forum MFC
    Réponses: 0
    Dernier message: 06/02/2012, 14h19
  2. Réponses: 5
    Dernier message: 08/10/2010, 12h52
  3. Objet COM sous builderC++2007
    Par sylvain.cool dans le forum C++Builder
    Réponses: 5
    Dernier message: 14/03/2008, 09h42
  4. ActiveX winsock sous Visual C++ 6
    Par Neo41 dans le forum MFC
    Réponses: 1
    Dernier message: 19/05/2005, 09h07
  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