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

VC++ .NET Discussion :

[C++.NET] Acces a des variables


Sujet :

VC++ .NET

  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut [C++.NET] Acces a des variables
    Bonjour à tous,
    J'ai 3 Forms, une principale et 2 secondaires.
    Dans ma principale jouvre mes forms secondaires comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(!fenetre_sec1) fenetre_sec1 = new fenetre_secondaire1;
    fenetre_sec1->ShowDialog();
    Bien entendu je fais la declaration comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    fenetre_secondaire1 * fenetre_sec1;
    Tout ceci est declare dans ma Form principale, mais comment je fais pour acceder a mes variables se trouvant dans ma fenetre_secondaire1 alors que je suis dans ma fenetre_secondaire2 ????

    Car j'ai deja essaye pas mal de truc et l'erreur qui revient c'est "La reference d'objet nest pas definie a une instance dun objet".

    J'ai aussi essaye d'inclure ma form principale a une de mes secondaires et bien impossible.

    Help me
    merci @++

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Par défaut
    Ta fenetre Secondaire 2 doit avoir une référence sur la fenetre secondaire 1 et cette derniere doit présenter des attributs ou propriété Public.

    Normalement tu devrais pouvoir accéder à tes variables de cette manière.
    Je te propose de passé ta référence à ta fenetreSecondaire 2 dans le constructeur de cette fenetre.

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut
    Euh alors la j'ai pas tres bien compris
    Ta fenetre Secondaire 2 doit avoir une référence sur la fenetre secondaire 1 et cette derniere doit présenter des attributs ou propriété Public.
    Tu peux m'explqiuer avec un peu de code stp.
    En fait comment je fais pour passe ma fenetre en reference??

    Merci

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut
    Jai lu plusieurs posts sur le passage de variables de form a form mais je suis toujours dans le flou.

    En plus jai reussi a avoir acces a mes variables se trouvant sur toutes mes forms secondaires mais que sur ma form principale.
    Pour avoir acces a des variables de fenetre secondaire a secondaire impossible.
    Le truc c que jai aussi des datatables sur une de mes forms secondaires.

    Et pourquoi jai acces a tout depuis ma form principale et pas autres?

    Merci de maider car la je galere vraiment.

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut
    Bon apres avoir retourner mon programme dans tous les sens et avoir fais des modifs, il faudrait juste que jai acces a 2 variables qui se trouvent sur une form secondaire (jai pas le choix) a une autre form secondaire.

    Ca doit bien etre faisable en quelques lignes de codes????

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    salut,

    tu as regardé dans la faq c++/cli ? http://dotnet.developpez.com/faq/cpp...sspublicmethod

  7. #7
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut
    Je viens de regarder mais ce que tu appelles form creatrice c'est quoi ta form principale??
    Car moi comme marque au dessus c'est dune form secondaire a une autre form secondaire.
    et ce que je veux faire passer c'est juste 2 variables pas de methodes ou autres.

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    oui, mais comme déjà expliqué, pour y acceder il faut une référence vers l'une ou l'autre, et aussi une facon publique d'y acceder (soit par variable membre, soit par propriété)

  9. #9
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut
    Oki j'ai compris ce qu'il faut faire mais ton explication n'est valable que si c'est la fenetre precedente qui ouvre la nouvelle fenetre????

    En fait jai une form principale de laquelle je peux ouvrir 3 fenetres secondaires
    et il faut que je puisse acceder a 2 variables se trouvant sur ma form_sec1 de ma form_sec2.

    Et la comment je fais??

  10. #10
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    j'imagine un truc simple

    la form principale stocke en public les références des forms secondaires au moment de leur création, puis rattache la form principale aux secondaires grace à l'owner, comme expliqué dans la faq.
    Ensuite, la form secondaire, peut accèder à la form principale qui connait les form secondaires, et ainsi elle pourra accèder aux propriétés publiques des forms secondaires.

    c'est clair ?

  11. #11
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut
    On ma propose une solution quiest celle ci:
    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
     
    public __gc class Statistiques : public System::Windows::Forms::Form
    	{
          private Dimension_piste* fenDimPiste;
     
    	public: 
     
    		Statistiques(Dimension_piste * fen)
    		{			
    		        fenDimPiste = fen;
    			InitializeComponent();
     
    		}
    etc...
     
    rivate: System::Void button1_Click(System::Object *  sender, System::EventArgs *  e)
    		 {
     
    			grid1->RowsCount = fenDimPiste->piste_long;
    			grid1->ColsCount = fenDimPiste->piste_larg;
     
    		 }
    Construction de ta Form :
    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
    26
    27
     
    public __gc class Form1 : public System::Windows::Forms::Form
    	{	
    	public:
     
    		Statistiques * fen_stats;
    		Carac_asperseurs * fen_carac;
    		Positions_asperseurs * fen_position;
    		Dimension_piste * fen_dim;
     
    		Form1(void)
     
    		{
                           fen_dim = new Dimension_piste();
                           fen_stats = new Statistiques(fen_dim);
     
    			InitializeComponent();
    		}
    etc.....
     
    /////////Ouverture fenetre dimension piste///////////////////
    	private: System::Void button_dimension_Click(System::Object *  sender, System::EventArgs *  e)
    		 {
    				if (!fen_dim) fen_dim = new Dimension_piste();
    				fen_dim-> ShowDialog();
     
    				button2->Enabled = true;
    Mais jai une erreur a cette endroit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Statistiques(Dimension_piste * fen)
    erreur de syntaxe ')'

    et je pense que c elle qui me creee ttoutes ces erreurs

    ceci est une declaration en C# et il faudrait la faire en C++ qq1 sait il comment faire??

    Merci

  12. #12
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ce qui est surtout pas bon, c'est ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Dimension_piste* fenDimPiste;
    à remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private : Dimension_piste* fenDimPiste;

  13. #13
    Membre confirmé
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    122
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par défaut
    Oki merci
    ca a lair de fonctionner

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

Discussions similaires

  1. [C#.NET][Débutant]Portée des variables
    Par Xzander dans le forum Windows Forms
    Réponses: 4
    Dernier message: 04/07/2006, 18h29
  2. [VB.net] donner droits d'acces sur des fichiers
    Par pikho dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/06/2006, 09h33
  3. Accès a des variables de classes
    Par lalouve dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 11/05/2006, 16h48
  4. Importer via asp.net c# des variables dans mon namespace xsl
    Par akaii dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/01/2006, 08h41
  5. Réponses: 5
    Dernier message: 21/10/2005, 11h48

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