Привет, ребята, у меня есть вопрос, независимо от старого кода, которому нужно обновление для клиента.Тед, чтобы поддерживать процесс, но бесполезный иначе
Этот код добавляет thread.sleep (500), чтобы поддерживать работоспособность, читает из COM-порт некоторые вызовы и отправляет сигнал тревоги другим ПК сейчас на этот раз, когда я отправлял некоторую информацию на рассматриваемый аппарат эта ошибка появляется
Неверное выполнение кросс-потоков: элемент управления 'textBox1' доступен из потока, отличного от потока, на котором он был создан.
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e) {
Thread.Sleep(500);
string data = port.ReadExisting();
//try
//{
if (textBox1.TextLength == 30000)
{
textBox1.Text = "";
}
//}
//catch (Exception) {}
this.BeginInvoke(new setTextDeleg(si_DataRecived), new object[]{
data});
}
Это функция, которая пишет на ком машину, делает что делает исключение есть ошибка в порядке, или есть еще лучший способ справиться с этим?
PD: Извините за мой плохой английский, это на C# 2008 против
Вы уже используете BeginInvoke, как и вы, я не понимаю смысла. Вызов Sleep() * очень * уродливый, на самом деле он не является надежным. Просто будьте аккуратны. –
Я предполагаю, что я сделал этот код несколько лет назад, я просто обновляю его, но я согласен, у меня есть вопрос, порт com виртуализирован, если я удалю thread.sleep, кажется, он пытается вернуться к com1 по какой-либо причине идея почему? – Enrique