Salut,
J'ai utilisé cette solution pour faire un petit programme Windows Phone standard: http://blogs.msdn.com/b/rickyt/archi...ts-in-xna.aspx
Le bout de code ci-dessous permet de mettre le téléphone en écoute d'un paquet UDP:Lorsque que le paquet arrive la méthode BeginReceiveFromGroup est appelée, puis OnReceive. Celle-ci déclenche un évènement capté par l'UI. A ce moment je souhaite mettre à jour le texte d'un TextBlock.
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 if (IsJoined) { Array.Clear(this.buffer, 0, this.buffer.Length); this.client.BeginReceiveFromGroup(this.buffer, 0, this.buffer.Length, result => { if (!isDisposed) { IPEndPoint source; try { this.client.EndReceiveFromGroup(result, out source); this.OnReceive(source, this.buffer); this.Receive(); } catch (Exception e) { throw e; //IsJoined = false; //this.Open(); } } }, null); }
Mon soucis c'est que je reçois un vilain message d'erreur:Si je supprime la mise à jour du TextBlock ça passe. Il y a pas mal de littérature sur le Net à ce sujet: http://msdn.microsoft.com/en-us/libr...8VS.80%29.aspx.Invalid cross-thread access.
Y a-t-il un moyen simple pour éviter ce plantage? Je voudrais éviter de faire du multithreading.
A+
Partager