comment faire une condition sur l'effet d'un button nommé Deconnexion
if (Deconnexion->Enabled) serialPort1->Close;
au mieux je souhaiterai fermer ma connexion serialPort1->Close; sur l'action d'un clic sur la croix de mon form principal.
Merci
comment faire une condition sur l'effet d'un button nommé Deconnexion
if (Deconnexion->Enabled) serialPort1->Close;
au mieux je souhaiterai fermer ma connexion serialPort1->Close; sur l'action d'un clic sur la croix de mon form principal.
Merci
Tu veux dire un événement ou une condition?
Pour une condition, généralement on les fait sur des checkboxes plutôt que sur des boutons.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Bah en fait j'ai créé un bouton pour déconnecté le bus USB avant la fermeture du form par ce que quand je souhaitai fermer mon form alors qu'il était encore en train de récupère mes valeurs celui-ci frisait et ne ce fermait plus, je suis obliger de faire un alt contrôle sup pour arrêter l'application.
Je pense qu'il faut donc que je ferme ma connections USB au moment ou je clic sur la croix du form principal, mais je n'y suis pas arriver
Ah, je pense qu'il y a un risque qu'il y ait un problème de "verrou mortel" où chaque thread attend une réponse de l'autre...
Pour les appels où il n'est pas essentiel d'attendre que le thread graphique ait fini de mettre à jour ses contrôles avant de continuer, tu peux remplaçer les Invoke() par des BeginInvoke() (mais pour ça, il va falloir modifier la fonction SetText() ou en faire une copie que tu modifies ensuite).
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Bonjour,
j'ai donc mis un BeginInvoke() dans ma fonction SetText() comme ça
a cet endroit this->Invoke(d, gcnew String(text)); remplacer par this->BeginInvoke(d, gcnew String(text));
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 private: virtual void SetText(String^ text) sealed { if (this->Analog0->InvokeRequired) { SetTextCallback^ d = gcnew SetTextCallback(this,&VCCDC::Form1::SetText); this->BeginInvoke(d, gcnew String(text)); } else { Analog0->Clear(); Analog0->AppendText(valeur1.ToString()); Analog1->Clear(); Analog1->AppendText(valeur2.ToString()); Analog2->Clear(); Analog2->AppendText(valeur3.ToString()); Analog3->Clear(); Analog3->AppendText(valeur4.ToString()); Analog4->Clear(); Analog4->AppendText(valeur5.ToString()); Analog5->Clear(); Analog5->AppendText(valeur6.ToString()); Analog6->Clear(); Analog6->AppendText(valeur7.ToString()); Analog7->Clear(); Analog7->AppendText(valeur8.ToString()); Analog8->Clear(); Analog8->AppendText(valeur9.ToString()); } }
en fait, ça résoud mon problème de latence exposé là
http://www.developpez.net/forums/d13...icher-textbox/
dont mes valeurs varie à la second de réaction maintenant, seulement il met impossible de bouger la fenêtre ou de la fermer
Partager