Bonjour,
J'ai un problème lors de la fermeture d'un port com.
Je reçois des trame type NMEA à 10hz. j'utilise l'evenement datareceive du serialport pour traiter les données, lorsqu'une trame est valide, je déclenche un événement pour avertir la winform principale de l'arrivé d'une trame NMEA valide, pour l'affiché et éviter les opération inter thread, je suis obligé d'utilisé les invoke et delegate. donc j'ai crée cette fonction test pour compter le nombre de trame :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public void DisplayCount(long Count)
{
    if (InvokeRequired)
        Invoke(new ShowDelegateLabel(this.DisplayCount), new object[] { Count });
    else
    {
         label1.Text = Count.ToString();
    }
}
Si j'essaye de fermer le port avec serialport.close, celui ci reste bloqué dessus.
Je sais que c'est lié à la fonction DisplayCount mais je ne sais pas pourquoi.
Pourriez vous me dire la bonne procédure pour fermer ce port proprement.
D'avance merci.