GÉNÉRATION D'ÉVÈNEMENT À LA FIN D'UN THREAD

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 11 août 2005 à 09:41
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 - 12 août 2005 à 10:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33189-generation-d-evenement-a-la-fin-d-un-thread

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
12 août 2005 à 10:45
Merci à tout les deux, c'est vrai que je ne l'avais pas testé avec le 2.0.
J'ai mis une nouvelle version, sans le 'this'.
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
11 août 2005 à 22:41
Ouai bien vu, sans le this y'a plus d'exception !
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
11 août 2005 à 22:15
Dans l'exemple présent une surcharge avec le paramètre parent est utilisée, je suppose que ça peut entrainer le problème.
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
11 août 2005 à 22:09
Si la ligne de la MessageBox est commentée y'a plus d'exception.
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
11 août 2005 à 22:03
Ouaip ca c'est le problème du cross-threading, mais là c'est pas un contrôle c'est une MessageBox, alors pourquoi ?
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
11 août 2005 à 21:24
Le problème c'est que justement la méthode associée à l'event est appelée dans le contexte du thread qui declenche, pas dans le thread principal.
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
11 août 2005 à 15:48
Tiens je ne savais pas, mais en .NET 2.0 acceder à la MessageBox c'est considéré comme du cross-threading, tu ne pouvais pas le voir avec VS 2003 mais en mode DEBUG avec VS 2005 une exception est levée.

Les threads ont une propriété Name qui peut être sympa dans un exemple comme celui-ci.
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
11 août 2005 à 09:46
Pas de problèmes, comme je l'ai dis, je ne savais pas trop où le mettre.
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
11 août 2005 à 09:41
c'est pas trop une astuce... mais plus théorique... donc, je le déplace dans .NET
Rejoignez-nous