グローバル変数 SerialPort comm を取得しました。COMポートを開いた後、受け取ったバイトを読んでいると、COMポートが閉じているという例外が発生します.
バックグラウンドワーカーで正しくアクセスするにはどうすればよいですか?
comm を宣言するより良い方法はありますか?
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;
while(true)
{
if ((worker.CancellationPending == true))
{
e.Cancel = true;
break;
}
else
{
string str = comm.ReadLine();
//...
}
}
}
編集:ええ...これを使用してください http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.datareceived.aspx
BackgroundWorkerは必要ありません