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

Visual C++ Discussion :

[COM] informations sur les classes


Sujet :

Visual C++

  1. #1
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut [COM] informations sur les classes
    Salut,



    j'ai un composant COM décrit de la manière suivante :
    - IConnexion dans le fichier idl
    - CConnexion dans Connexion.h/cpp


    j'ai besoin de faire quelques traitements dessus... et j'essaye de la passer en argument à une méthode d'une autre classe (toujours du "même côté" en COM)

    j'ai essayé les types CConnexion et IConnexion, et ça plante en disant que ceux sont des classes abstraites...

    avec Connexion, ça passe... tant que je déclare les fonctions, mais ça plante quand je souhaite mettre le code correspondant


    si quelqu'un connait...

    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  2. #2
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 122
    Par défaut Salut
    Ta classe CConnexion implémentant ton interface IConnexion doit absolument implémenter toutes les méthodes et propriétés de cette interface sinon tu ne pourras pas utiliser cette classe (les méthodes non implémentées étant virtuelles pures et donc ta classe abstraite).

    Aurais-tu un bout de code ? (fichier idl, implémentation de la coclass..)

  3. #3
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    en gros mon idl...

    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
    17
    18
    19
    20
    21
    22
    ...
    interface IConnexion : IDispatch{
            [id(1), helpstring("method sendMessage")] HRESULT sendMessage(BSTR message);
            [id(2), helpstring("method disconnect")] HRESULT disconnect(void);
    };
    ...
    library ChatServerLib
    {
    ...
            dispinterface _IConnexionEvents
            {
                    properties:
                    methods:
                            [id(1), helpstring("method newMessage")] HRESULT newMessage([in] BSTR message);
            };
    ...
            coclass Connexion
            {
                    [default] interface IConnexion;
                    [default, source] dispinterface _IConnexionEvents;
            };
    };
    et ma classe
    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
    17
    18
    19
    20
     
    STDMETHODIMP CConnexion::InterfaceSupportsErrorInfo(REFIID riid)
    {
    ...
    }
     
    CConnexion::CConnexion(BSTR channelName, BSTR userName)
    {
    ...
    }
     
    STDMETHODIMP CConnexion::sendMessage(BSTR message)
    {
    ...
    }
     
    STDMETHODIMP CConnexion::disconnect(void)
    {
    ...
    }
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 122
    Par défaut
    Salut,
    Normalement quand tu as une erreur de classe abstraite il doit te dire à cause de quelle fonction elle est abstraite. Dans ce cas c'est soit que tu ne l'as pas implémentée soit tu l'as implémentée mais avec une autre signature que celle de l'idl.

Discussions similaires

  1. Informations sur les langages/outils de ce forum
    Par Idelways dans le forum Autres langages
    Réponses: 3
    Dernier message: 14/02/2018, 12h08
  2. LV8.6 Informations sur les ports COM (USB)
    Par Zigrof dans le forum LabVIEW
    Réponses: 9
    Dernier message: 26/05/2010, 11h17
  3. information sur les ps
    Par devalender dans le forum Débuter
    Réponses: 4
    Dernier message: 20/07/2004, 10h07
  4. Réponses: 6
    Dernier message: 28/04/2004, 10h41
  5. Informations sur les procédures stockées
    Par jfphan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/01/2004, 14h30

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