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 :

Problème de conversion type VARIANT -> string LPCTSTR


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 20
    Points
    20
    Par défaut Problème de conversion type VARIANT -> string LPCTSTR
    Bonjour à tous,

    Je souhaiterais afficher à l'aide de la fonction MessageBox() le contenu d'une variable de type VARIANT. Mais pour cela, il faut que je convertisse le type en un string LPCTSTR pour que cela fonctionne avec MessageBox().
    J'ai essayé plusieurs choses comme la fonction VariantChangeType, ou la fonction proposée dans la FAQ permettant de convertir n'importe quel type en un string, mais rien n'y fait. J'obtiens toujours une erreur, sur le type d'un paramètre de la fonction MessageBox() concernant la chaine de caractères à afficher.

    Est-ce que quelqu'un aurait une idée comment je pourrai opérer cette conversion ?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    Je pense que tu devrais faire ta propre fonction de conversion de VARIANT en texte. Et dans cette fonction, la première chose à faire sera d'agir en fonction du type que le VARIANT contient...

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Justement, ma variable de type VARIANT contient une chaine de caractères, mais je ne vois comment je pourrai m'y prendre pour la convertir en LPCTSTR.

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 380
    Points : 41 576
    Points
    41 576
    Par défaut
    Les chaînes dans les VARIANT sont des BSTR.
    Si la chaîne est terminée par un caractère nul, tu peux la considérer comme un LPCWSTR et l'afficher avec MessageBoxW().
    Si tu ne sais pas s'il y a un caractère nul, tu peux utiliser SysStringLen() et la recopier dans un buffer de WCHAR assez grand...

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Ok merci, je vais essayer ça.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    C bon j'ai réussi à récupérer ma chaine de caractère de ma variable de type VARIANT par la méthode GetDisplayName de l'interface IMoniker.

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

Discussions similaires

  1. Problème de conversion type de cellule (DataGridView)
    Par ColDay dans le forum Windows Forms
    Réponses: 6
    Dernier message: 18/02/2010, 17h28
  2. Réponses: 2
    Dernier message: 28/04/2008, 14h48
  3. Réponses: 2
    Dernier message: 18/11/2007, 10h41
  4. ActivX, Problème avec le type VARIANT
    Par personaprimonpseudo dans le forum C
    Réponses: 3
    Dernier message: 13/02/2007, 16h09
  5. Problème avec le type variant
    Par fabrice001 dans le forum C++Builder
    Réponses: 4
    Dernier message: 21/12/2005, 10h18

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