Я новичок в C ++ и .NET. Я использую Visual Studio 2008 и создал приложение Windows Forms для Visual C ++ CLR.
Я поместил текстовое поле и последовательный порт из панели инструментов в форме. После долгих поисков в Интернете я смог добавить соответствующий код для создания обработчика событий получения и успешно получаю символы из COM-порта.
Проблема, с которой я сталкиваюсь, заключается в размещении проанализированного текста, который я получил, в текстовое поле формы. Из моих исследований проблема одна из нескольких тем. Я смотрел на примеры с использованием делегатов и вызовов, и т. Д., Но пока не смог заставить его работать.
Мой код выглядит
private: void SetText(String ^text) {
// InvokeRequired required compares the thread ID of the
// calling thread to the thread ID of the creating thread.
// If these threads are different, it returns true.
if (this->InvokeRequired)
{
AddCommandToTextBox ^d = gcnew AddCommandToTextBox(text);
this->Invoke(d, gcnew object[] { text });
}
else
{
this->textBox1->Text = this->textBox1->Text + text;
}
}
Задача ещё не решена.
Других решений пока нет …