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 :

Macro OLE2T


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 201
    Par défaut Macro OLE2T
    Bonjour,

    Voila j'aimerais utilise cette macro mais le probleme (si il y en a un)
    c'est que apparement meme dans un projet Visual C++ supportant les MFC
    cette macro à l'ai d'être non defini.
    J ai deja regarde dans la MSDN (notre bible) mais il ne mette rien a inclure
    pour pouvoir utiliser ette macro.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    USES_CONVERSION;
     
          for (DWORD ii = 0; ii < dwCount; ii++)
          {
             VARIANT vValue;
             VariantInit(&vValue);
     
             if (SUCCEEDED(VariantChangeType(&vValue, &(pvValues[ii]), NULL, VT_BSTR)))
             {
    			 cout << "Handle = " << phClientItems[ii] << "\r\nValeur = " << OLE2T(vValue.bstrVal) << endl;
                 VariantClear(&vValue);
             }
          }

    Si quelqu'un peut bien m'aider

    bye

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 201
    Par défaut
    Desole

    mais entre temps j'ai trouve ma soltion

    il suffit d'inclure #include <atlbase.h>

    Google PowaAaaaaaA

  3. #3
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Elle est définie dans <afxpriv.h>.
    Tu peux plus simplement utiliser _bstr_t et _variant_t de <comdef.h>:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        for (DWORD ii = 0; ii < dwCount; ii++) 
        { 
            _bstr_t str( pvValues[ii] );
            cout << "Handle = " << phClientItems[ii] << "\r\nValeur = " << str << endl; 
        }
    La conversion implicite en _variant_t est faite lors du passage de pvValues[ii] dans le constructeur, et l'appel à ChangeType( VT_BSTR ) est fait automatiquement aussi pour en extraire un _bstr_t. La conversion de _bstr_t rn char * est elle aussi implicite. L'initialisation / destruction est aussi gérée automatiquement (principe du RAII).
    Par contre une exception _com_error sera levée si la conversion échoue.

Discussions similaires

  1. [VB6] Exécuter une macro Access
    Par Nektanebos dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/02/2006, 16h32
  2. [VBA-E] Macro ouverture fichier déja ouvert
    Par bhaal76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 14h30
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 03h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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