Mon problème: J'ai l'événement DataReceived pour SerialPort, qui écoute le port série et ajoute tout à RichTextBox. Maintenant, je voudrais enregistrer le contenu de RichTextBox dans le fichier txt. Je pouvais le faire:Supprimer le texte de RichTextBox
string text = RichTextBox.Text;
// save file
RichTextBox.Clear();
Mais je crains (et s'il vous plaît me corriger si je me trompe), que juste entre mes deux actions (enregistrer le contenu à la variable, RichTextBox claire) une autre entrée pourrait venir à SerialPort. Comme je ne l'ai pas enregistré dans ma variable et que j'ai effacé RichTextBox juste après, cette nouvelle donnée a pu être supprimée, sans même que je sache qu'elle ait jamais existé.
Est-ce que cela pourrait vraiment arriver et comment puis-je l'éviter?
Merci
J'écris dans RichTextBox avec Invoke (à partir du thread DataReceived), l'écriture et la lecture se font donc dans le même thread (GUI). Cela signifie que mon scénario ne pourrait pas se produire? – sventevit
À première vue, je ne pensais pas que l'utilisation d'Invoke vous protégerait, mais maintenant que j'ai réfléchi à cela, cela vous protégerait. Bonne réponse! +1 – David
J'utilise RichTextBox car je vérifie chaque entrée du port série dans SQL et récupère son statut. Si le statut est 'OK', la couleur du texte pour cette entrée est verte, sinon OK, la couleur du texte est rouge. L'opérateur peut facilement voir si l'entrée est OK ou non OK ... – sventevit