[VB2010] Gérer un Thread

Fermé
jobertomeu Messages postés 1186 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 5 février 2015 - Modifié par jobertomeu le 8/03/2013 à 22:33
Bonjour,
Alors voila, je souhaite réaliser une application qui a pour but de recevoir des données reçues en série, dans le but de le travailler et d'exécuter certaines commandes en fonction du mot envoyé en série. J'ai donc placé ma réception série dans un thread pour avoir accès au programme du temps qu'il recoive les infos. Le problème, c'est que je recois des infos toute les 250ms, donc le thread n'ayant jamais terminé son boulot, je ne vois jamais mes caractères s'afichent, j'aimerai que mes caractères s'affichent en live ! Merci beaucoup !


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  
        numero_port = portTxt.Text  
        vitesse_transfert = vitesseTxt.Text  
        bit_donnees = bitsTxt.Text  
        indice_sb = 1  
        SerialPort1.PortName = numero_port  
        SerialPort1.BaudRate = vitesse_transfert  
        SerialPort1.StopBits = bStop.Text  
        SerialPort1.DataBits = bitsTxt.Text  
        SerialPort1.Open()  
        point_suspension = 4  
        Me.RcvData = New Thread(New ThreadStart(AddressOf Me.ThreadProcSafe))  
        Me.RcvData.Start()  

    End Sub  
    Private Sub ThreadProcSafe()  
        Do  
            notif_timer = 0  
            Dim Incoming As String = SerialPort1.ReadLine()  
            If Incoming Is Nothing Then  
                Exit Do  
            Else  
                returnStr += Incoming & vbCrLf  
                notif_timer = 1  
            End If  
        Loop  
        Me.SetText(returnStr)  
    End Sub  
    Private Sub SetText(ByVal [text] As String)  
        If Me.receptionTxt.InvokeRequired Then  
            Dim d As New SetTextCallback(AddressOf SetText)  
            Me.Invoke(d, New Object() {[text]})  
        Else  
            Me.receptionTxt.Text = [text]  
        End If  
    End Sub