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 :

Mise au propre du code de gestion de la Progress Bar [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 Mise au propre du code de gestion de la Progress Bar
    Bonjour,
    J'avance la maquette de mon application grâce a vos conseils. Je vous en remercie encore. Maintenant l'enchainement d'un menu avec une form marche.
    J'ai pris le code de la progress bar sur le forum et j'ai résolue une part des problèmes de compilation. il reste quelques erreurs dans l'appel des fonctions membres. J'ai fait trois appels de fonction membres avec des syntaxe variées et chacune me provoque une erreur de compilation différente.
    A fin de vous orienter je joins le code de la maquette et les résultats de compilation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Form1(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: ajoutez ici le code du constructeur
    			//
    			Shown += gcnew EventHandler( (void( __clrcall Test6::Form1::* )( System::Object^, System::EventArgs^)( Sender, Form1_Shown)));
                            // To report progress from the background worker we need to set this property
     			backgroundWorker1->WorkerReportsProgress = true;
                            // This event will be raised on the worker thread when the worker starts
    			backgroundWorker1->DoWork += gcnew DoWorkEventHandler( Test6::Form1::backgroundWorker1_DoWork^);
                            // This event will be raised when we call ReportProgress
     			backgroundWorker1->ProgressChanged += gcnew ProgressChangedEventHandler(Test6::Form1::backgroundWorker1_ProgressChanged);
    		}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Test6.cpp
    1>d:\usr\memoria\dev\aln_kernel\make\test6\test6\Form1.h(7): error C2143: erreur de syntaxe*: absence de ')' avant '__clrcall'
    1>d:\usr\memoria\dev\aln_kernel\make\test6\test6\Form1.h(7): error C2059: erreur de syntaxe*: ')'
    1>d:\usr\memoria\dev\aln_kernel\make\test6\test6\Form1.h(11): error C2059: erreur de syntaxe*: ')'
    1>d:\usr\memoria\dev\aln_kernel\make\test6\test6\Form1.h(13): error C3867: &'Test6::Form1::backgroundWorker1_ProgressChanged'*: liste d'arguments manquante dans l'appel de fonction*; utilisez 'Test6::Form1::backgroundWorker1_ProgressChanged' pour créer un pointeur vers membre
    1>d:\usr\memoria\dev\aln_kernel\make\test6\test6\Form1.h(13): error C3350: 'System::ComponentModel::ProgressChangedEventHandler'*: un constructeur délégué attend 2 argument(s)
    1>ÉCHEC de la build.
    Je serai content d'avoir de l'aide: ce sera

  2. #2
    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 il faut bien respecter la syntaxe
    bonjour

    Le problème ces code trouvés sur les forum est qu'ils sont quelquefois laxiste avec la syntaxe. le code qui suit compile correctement je dois résoudre une autre difficulté avant de l’exécuter, mais je ne suis pas inquiet. le code doit respecter la syntaxe des interfaces d'appel et notamment il faut que toutes les interfaces soient passée de la même façon et dans notre cas le type est un handler (Hat)
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    #pragma once
    #include "OpenAFile.h"
    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::Threading;
     
    	/// <summary>
    	/// Description résumée de Form1
    	/// </summary>
     
    	public ref class Form1 : public System::Windows::Forms::Form
    	{
    	public:
    		Form1(void)
    		{
    			InitializeComponent();
    			//
    			//TODO: ajoutez ici le code du constructeur
    			//
    			this->progressBar1->Hide();
    			IntitializeProgressBar();
    		}
     
    		void IntitializeProgressBar(void)
    		{
    			Shown += gcnew EventHandler(  this, &Form1::Form1_Shown);
                            // To report progress from the background worker we need to set this property
     			backgroundWorker1->WorkerReportsProgress = true;
                            // This event will be raised on the worker thread when the worker starts System::ComponentModel::DoWorkEventArgs ^
    			backgroundWorker1->RunWorkerCompleted += gcnew RunWorkerCompletedEventHandler( this, &Form1::backgroundWorker1_RunWorkerCompleted );
    			backgroundWorker1->DoWork += gcnew DoWorkEventHandler( this, &Form1::backgroundWorker1_DoWork);
                            // This event will be raised when we call ReportProgress
     			backgroundWorker1->ProgressChanged += gcnew ProgressChangedEventHandler( this, &Form1::backgroundWorker1_ProgressChanged );
    		}
     
    		void Form1_Shown( System::Object^ Sender, System::EventArgs^ e)
            {
                // Start the background worker
                backgroundWorker1->RunWorkerAsync();
            }
     
               // This event handler deals with the results of the
               // background operation.
              void backgroundWorker1_RunWorkerCompleted( Object^ /*sender*/, RunWorkerCompletedEventArgs^ e )
              {
     
              }
     
    		// On worker thread so do our thing!
            void backgroundWorker1_DoWork( System::Object^ sender, DoWorkEventArgs^ e)
            {
                // Your background task goes here
                for (int i = 0; i <= 100; i++)
                {
                    // Report progress to 'UI' thread
                    backgroundWorker1->ReportProgress(i);
                    // Simulate long task
                }
             }
     
            // Back on the 'UI' thread so we can update the progress bar
    		void backgroundWorker1_ProgressChanged( System::Object^ sender, ProgressChangedEventArgs^ e)
            {
                // The progress percentage is a property of e
                progressBar1->Value = e->ProgressPercentage;
            }
     
    	protected:
    		/// <summary>
    		/// Nettoyage des ressources utilisées.
    		/// </summary>
    		~Form1()
    		{
    			if (components)
    			{
    				delete components;
    			}
    		}
    c'est

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

Discussions similaires

  1. Mise en cache du code ?
    Par Jérem22 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 03/03/2007, 17h57
  2. Réponses: 5
    Dernier message: 22/01/2007, 14h57
  3. [MySQL] Examen de mon code de gestion des oublis de MDP
    Par Archeus dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 07/08/2006, 17h15
  4. code pour gestion d'une bibliotheque
    Par le_gueux90 dans le forum C
    Réponses: 9
    Dernier message: 30/11/2005, 16h32

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