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 :

Probleme avec passage d'une form a l'autre! [Débutant]


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut Probleme avec passage d'une form a l'autre!
    Bonjour,

    Mon problem est que j'ai crée une classe FTP ou je peux télécharger une donnée et l'écrire dans un String.
    Pour le faire passé a ma form principal j'ai crée un constructeur de la manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            public Compiler(string task1)
            {
                Downloadtext1 = task1;
            }
    Dans ma form Principal et dans ma classe FTP j'ai écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Compiler test = new Compiler(test1);
    oú "test1" est mon String de donnée.

    Maintenan je veu écrire "Downloadtext1" dans une Richtextbox ou un "Editorcontrol.Text" mais sa marche pas il me dit que mon String est null! Pourtant quand je debug il la bonne valeur dans "Downloadtext1" mais d'un coup quand je continue elle disparait! quelqu'un aurait t-il une idée pourquoi la valeur disparait? et comment faire pour gardez et utilisé le String "Downloadtext1"?

  2. #2
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    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
     
    public partial class FormFTP : Form
    {
    	// déclare _downloadtext1 comme champ privé.
            // Il sera donc accessible aux autres méthodes de ta form
            private string _downloadtext1;
     
    	public Compiler(string task1)
    	{
    	    this._downloadtext1 = task1;
    	}
     
          // Ecriture de Downloadtext1 dans Editorcontrol.Text
    	private void EcrireDownloadText()
    	{
    	   Editorcontrol.Text = this._downloadtext1;
    	}
     
    }

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Merci Callo pour ta réponse mais sa ne marche toujours pas :-(

    j'ai fait exactement sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            private void EcrireDownloadText()
            {
                textEditorControl1.Text = this.Downloadtext1;
            }
    et il me dit qu'il y a une "référence à l'objet n'a pas été réglé à une instance d'objet". Mais sa veut dire que mon textEditorControl1.Text=null ??
    je ne comprend pas.. mais pourtant dans mes autres methode quand j'écrit textEditorControl1.Text=" un string" sa marche! Tu vois le problème?

  4. #4
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Pourrais-tu poster si possible le code détaillé?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    dans ma form "Compiler" j'ai écris pour récupéré le string de ma form "FTP":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            public Compiler(string task1)
            {
                Downloadtext1 = task1;
                EcrireDownloadText(); 
            }
     
            private void EcrireDownloadText()
            {
                this.textEditorControl1.Text = this.Downloadtext1;
            }
    Et dans ma form"FTP" j'ai écris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Compiler test = new Compiler(test1);
    Lorsque je lance la méthode il me dit que "textEditorControl1.Text"=null mais pourtant des codes comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     if (inblock3 == false)
                                            {
                                                textEditorControl1.Text += (p + Fline.linebegintask3).ToString("D4") + " " + firstWord + " " + variablenindex1 + " " + type1 + " ";
                                                p++;
                                            }
    Marche très bien! Quand à "textEditorControl1" il sagit du IcSharpEditor de CodeProjekt.com il te faut quoi d'autre exactement?

  6. #6
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Si vraiment tu as fait ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public partial class Compiler : Form
    {
            private string _downloadtext1;
     
     	public Compiler(string task1)
    	{
    	    this._downloadtext1 = task1;
    	}
    	private void EcrireDownloadText()
    	{
    	   Editorcontrol.Text = this._downloadtext1;
    	}
    }
    et que textEditorControl1.Text est toujours égal à null, alors c'est que task1 est null. Assures-toi que la variable test1 que tu passes dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public partial class formFTP : Form
    { 
    	private void TaMethode()
    	{
    	   //string test1 = "une valeur à passer au form Compiler";
    	   Compiler test = new Compiler(test1);
    	}
    }
    est vraiment différente de null. Je pense que le problème réside à ce niveau.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Voila le passge de mon String:



    On voit bien ici que Task1 n'est vide. Donc ensuite :



    Ici on voit que "_Downloadtext1" est différent de "null" et qu'il prend la valeur de "Task1". Ensuite:



    Ici le Probleme: "_Downloadtext1" devient null!!


    Test avec valeur différente:

    Disons "_Downloadtext1"=String Test:







    Nous pouvons donc voir que la methode fonctionne correctement mais que la valeur du string "_Downloadtext1" se pert o bout d'un moment! et je ne trouve pas pourquoi?? Tu as une idée??

  8. #8
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    la valeur du string "_Downloadtext1" se perd o bout d'un moment!
    Vous êtes bien sur la même instance ?

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Je pense bien oui. Mais pour être sûr comment je peux vérifié sa?

  10. #10
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    If faut analyser le code, et regarder la pile d'appels pour être sur que l'on est dans la même instance.

  11. #11
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Le code ci-dessous figure dans quel form ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    TcpClient client = new TcpClient();
    client.Download_NcFile("FREETASKPROGRAM.BIN");
    if(_downloadtext1 !=null)
    {
    	EcrireDownloadText();
    }
    this.picturebox1.visible=false;

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Il figure dans la form "Compiler"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        public partial class Compiler : Form
        {}

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    If faut analyser le code, et regarder la pile d'appels pour être sur que l'on est dans la même instance.
    Tu peux me dire comment faire cette analyse? la pile d'appel ce trouve où?

  14. #14
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    Pour la pile d'appel, il faut lancer le debug, puis aller dans le menu "Deboger" / "Fenêtres" / "Pile d'appel". Ca permet le cheminement du code

    Pour l'analyse, il faut comprendre pourquoi _downloadtext1 == null
    Quelques pistes :

    - Il faut rechercher toutes les occurrences de _downloadtext1 et repérer l'endroit ou on lui affecte la valeur null

    - S'assurer que l'on est dans la même instance de "Compiler" (quelque part dans le code il y a : Compiler MaForm = new Compiler();")
    La variable _downloadtext1 est une variable d'instance, elle n'est accessible que par l'instance (Maform) en opposition avec les variables de classe.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 13
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup pour votre aide J'ai fait la pile d'appel et tou était bon...
    Alors je me suis dit que si je passait par une variable intermédiaire peut etre que sa marche...et finalement sa marche

    Merci à vos réponse

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/03/2006, 12h19
  2. Probleme avec replace() et une "Cote"
    Par Yannis06 dans le forum Oracle
    Réponses: 3
    Dernier message: 11/10/2005, 11h48
  3. Réponses: 6
    Dernier message: 26/07/2005, 10h20
  4. probleme de passage dans une boucle
    Par EssaiEncore dans le forum ASP
    Réponses: 16
    Dernier message: 15/02/2005, 17h39
  5. Réponses: 3
    Dernier message: 26/01/2004, 17h59

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