Bonjour � tous!
J'ai cr��e une form contenant simplement une progressBar.
Mon but est d'afficher cette form avec la progressBar qui s'incr�mente pendant qu'une autre fenetre �st en train de loader.
J'ai utilis� l'exemple fourni par Nico-pyright :
http://www.developpez.net/forums/d36...obleme-thread/
mais rien � faire la barre de progression de s'incr�mente pas.
Voici le code de ma fenetre de chargement:
et voici comment j'appelle le code de cette fenetre � partir d'une autre fenetre:
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 //____________________________________________________________________________________________ // avertisseurForm_Load() System::Void avertisseurForm::avertisseurForm_Load(System::Object^ sender, System::EventArgs^ e) { ProgressBarDelegate = gcnew ProgressBarDelegateHandler(this, &avertisseurForm::IncrementerBarre); } //____________________________________________________________________________________________ // Executer() System::Void avertisseurForm::Executer() { this->progress->Minimum = 0; this->progress->Maximum = 10; this->progress->Value = 0; this->progress->Step = 1; enChargement = true; t = gcnew Threading::Thread(gcnew Threading::ThreadStart(this, &avertisseurForm::TacheAEffectuer)); t->Start(); } //____________________________________________________________________________________________ // TacheAEffectuer() void avertisseurForm::TacheAEffectuer() { do { //System::Threading::Thread::Sleep(100); this->Invoke(ProgressBarDelegate); }while(enChargement); } //____________________________________________________________________________________________ // IncrementerBarre() void avertisseurForm::IncrementerBarre() { progress->PerformStep(); if(progress->Value== progress->Maximum)progress->Value = 0; } //____________________________________________________________________________________________ // Stoper() void avertisseurForm::Stoper() { enChargement = false; t->Abort(); }
Quelqu'un aurait il une id�e de mon erreur?
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 //____________________________________________________________________________________________ // preparateurProgWaypointsForm_Load() System::Void preparateurProgForm::preparateurProgForm_Load(System::Object^ sender, System::EventArgs^ e) { //Création de la fenetre chargement avertisseur = gcnew avertisseurForm(); //On dévoile la fenetre avertisseur->Show(); //On lance le thread avertisseur->Executer(); //Creation du tableau de programmation des waypoints CreationTableau(); //Initialisation des tableaux de reference InitTablesReference(); avertisseur->Stoper();
Merci d'avance
Kemanke
Partager