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

Windows Forms Discussion :

adresser une variable de type string et de porté dans la classe [Débutant]


Sujet :

Windows Forms

  1. #1
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut adresser une variable de type string et de porté dans la classe
    Bonjour,
    J'ai appris que dans un programme C++/CLI on pouvait mixer du code managé et du code C++ standard.
    mais quand je déclare une string; le compilateur grogne très fort
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private: 
    	    System::Windows::Forms::Button^  button3;
    		Form^ form1;
    	public:
    		string sFileToOpen;

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Ça fait bien longtemps que j'ai pas fait du C++, mais si je me rappelle bien il n'y a pas de type string... Il y a bien std::string, mais dans ce cas il faut préciser le namespace

    Et puis il faudrait préciser ce que tu veux dire par "grogne très fort"

  3. #3
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut std::string est refusé par VisualStudio 2010
    He non!

    grogner très fort c'est mettre 3 erreurs sur une référence string.

  4. #4
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut les donnée valides
    le donnée std:string sont accepté seulement si ils sont déclarés comme des données Globales
    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
    23
    24
    25
    std::string sFileToOpen;
    std::string sPathOfTheFile;
    std::string sDiskOfTheFile;
    namespace Test6 {
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    	using namespace System::Data;
    	using namespace System::Drawing;
    	using namespace System::IO;
        /// <summary>
    	/// Description résumée de OpenAFile
    	/// </summary>
    	public ref class OpenAFile : public System::Windows::Forms::Form
    	{
    	private: 
    		Form^ form1;
    	public:
     
    		OpenAFile::OpenAFile(void);
    		OpenAFile::OpenAFile(Form^ form1);
    		OpenAFile::~OpenAFile();
     
    		void Test6::OpenAFile::InitializeComponent(void);

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par JeanNoel53 Voir le message
    grogner très fort c'est mettre 3 erreurs sur une référence string.
    Oui mais ça pourrait aider si tu indiquais quelles erreurs précisément...

    Citation Envoyé par JeanNoel53 Voir le message
    le donnée std:string sont accepté seulement si ils sont déclarés comme des données Globales
    Je m'avance peut-être un peu (encore une fois, j'ai pas fait de C++ depuis longtemps, et j'ai pas beaucoup utilisé C++/CLI), mais je pense qu'une classe managé ne peut pas avoir de membres de type non managé. Par contre tu dois pouvoir utiliser ces types dans les méthodes de la classe...

  6. #6
    Débutant
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 022
    Points : 332
    Points
    332
    Par défaut Bonjour
    Merci de vos points de vue
    J'ai besoin de variables globales de type std::wstring pour communiquer entre l'ihm écrite en C++/CLI et le reste de l'application qui est écrite en C++ natif.
    actuellmeent je sais acquérir un type System::String à partir de la form et je sais le convertir en wchar_t*. Par contre avec Visual Studio 2010 si j'adresse une variable globale de type std::wstring dans une méthode de la classe de la form l'opération n'est pas effectuée. C'est probablement un effet du debugger.

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

Discussions similaires

  1. problème avec une variable de type string
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/06/2007, 14h53
  2. Réponses: 6
    Dernier message: 14/02/2007, 21h08
  3. Des " dans une variable de type String
    Par 4lkaline dans le forum Langage
    Réponses: 6
    Dernier message: 06/11/2006, 14h20
  4. convertir une variable de type String en Number
    Par lilbrother974 dans le forum Flash
    Réponses: 13
    Dernier message: 06/09/2006, 08h28
  5. Ajouter a une variable de type string, un entier
    Par Little-Freud dans le forum SL & STL
    Réponses: 12
    Dernier message: 05/03/2005, 19h33

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