luluberlu77
Messages postés1Date d'inscriptionmercredi 10 mai 2006StatutMembreDernière intervention10 mai 2006
-
10 mai 2006 à 23:01
circular
Messages postés17Date d'inscriptionvendredi 22 juin 2007StatutMembreDernière intervention27 mars 2010
-
17 déc. 2007 à 11:48
salut,
je sais pas trop dans quel thème mettre cette question. J'utilise
VB.net et je voudrais utiliser la fonction DataReceived() du portserie
comme suit :
Private Sub SerialPort1_DataReceived(ByVal sender As
Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles
SerialPort1.DataReceived
Label8.Text = SerialPort1.ReadExisting()
End Sub
Le problème est que dès que un octet arrive sur le port la fonction est
bien executée, mais le programme se bloque et affiche un message
d'erreur en anglais :
Cross-thread operation not valid: Control 'Label8' accessed from a thread other than the thread it was created on.
je crois que c'est un problème de porté de variable alors j'ai testé
des des trucs du genre Form1.Label8.text... et c'est pire. Je sais pas
comment faire fonctionner cette fonction de M....?
perceval_59
Messages postés18Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention17 septembre 2020 10 janv. 2007 à 17:39
vieu post mais j'ai le meme probleme
en fait on s'en sort facile en utilisant la commande
control.checkforillegalcrossthreadcalls = false
(J'ai conscience que c pas bien mais bon la seule phase ou j'ai besoin d'un thread est pour la recup de donnée RS232 apres c quasiment de l'evenementiel)
par contre je n'arrive pas a m'en sortir avec les données que j'obtien ..... ca me fige l'appli....