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

Framework .NET Discussion :

[C++ .Net] Comment récupérer les données du type Object ?


Sujet :

Framework .NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 61
    Points : 48
    Points
    48
    Par défaut [C++ .Net] Comment récupérer les données du type Object ?
    Bonjour,

    Je suis sous en C++ managé (Je débute dans cet environnement).
    Je récupère un objet de type Object suite à la lecture d'une clé binaire de la base de registre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Object *obj = RegKey->GetValue(MaVameur);
    obj est un tableau de char. Comment puis-je récupérer ces valeurs pour construire un objet String ?

    Merci de votre aide.

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Tu dois récupérer un Object ^ plutôt qu'un Object * je pense. Ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Object ^ obj = RegKey->GetValue(MaValeur);
    String ^ maChaine = gcnew String(safe_cast<cli::array<wchar_t> ^>(obj));
    Pas de questions techniques par MP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par StormimOn
    Tu dois récupérer un Object ^ plutôt qu'un Object * je pense. Ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Object ^ obj = RegKey->GetValue(MaValeur);
    String ^ maChaine = gcnew String(safe_cast<cli::array<wchar_t> ^>(obj));
    Merci de ta réponse mais je n'utilise pas le C++/CLI.
    Un exemple en C++ 'tout court' serait cool.

    Pour info, si mon objet est un tableau de chaînes, le code suivant fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Object *o = RegKey->GetValue("MaValeur");
    Array *val = static_cast<Array *>(o);
    String *str = static_cast<Array *>(val->GetValue(0));
    Je ne sais pas faire l'équivalent si o est un tableau d'objets.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    Je suis finalement parvenu à faire ce que je voulais.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Byte  byVals __gc[] ;
    byVals = static_cast<Byte __gc[]>(o) ;
    for(int i = 0 ; i < byVals->get_Count() ; i++)
       str = String::Concat(str, String::Format("{0,2:X2}", __box(byVals[i])));

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/09/2009, 16h43
  2. Réponses: 1
    Dernier message: 29/06/2007, 09h19
  3. [VB.Net] Comment se déplacer dans une Base de données ?
    Par balabonov dans le forum Windows Forms
    Réponses: 7
    Dernier message: 08/08/2006, 21h44
  4. [VB.NET] Comment créer une table dans base de données ?
    Par ptitesouris dans le forum VB.NET
    Réponses: 3
    Dernier message: 03/05/2006, 08h46

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