Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从条形码数据输入处理程序启用/禁用扫描仪时出现NullPointerException_C#_.net_.net 3.5_Barcode Scanner_Windows Mobile 6 - Fatal编程技术网

C# 从条形码数据输入处理程序启用/禁用扫描仪时出现NullPointerException

C# 从条形码数据输入处理程序启用/禁用扫描仪时出现NullPointerException,c#,.net,.net-3.5,barcode-scanner,windows-mobile-6,C#,.net,.net 3.5,Barcode Scanner,Windows Mobile 6,我正在为摩托罗拉条形码扫描器开发,似乎我遇到了一些线程问题。当我将barcode\u OnRead()设置为扫描仪输入的处理程序,并在同一流程中操作扫描仪的状态时,我很快就会得到NullPointerException。例如,这将导致以下问题: private void barcode_OnRead(object sender, Symbol.Barcode.ReaderData readerData) { this.barcode.EnableScanner = false; } 在我看

我正在为摩托罗拉条形码扫描器开发,似乎我遇到了一些线程问题。当我将
barcode\u OnRead()
设置为扫描仪输入的处理程序,并在同一流程中操作扫描仪的状态时,我很快就会得到
NullPointerException
。例如,这将导致以下问题:

private void barcode_OnRead(object sender, Symbol.Barcode.ReaderData readerData)
{
  this.barcode.EnableScanner = false;
}
在我看来,这似乎是一个线程问题,但我对C#不是很精通,我不知道如何在不同的线程(例如UI线程)上运行sth

编辑: 仅上述代码就将触发该问题<代码>此。条形码当时不是
null
。 异常中的堆栈跟踪:

at Barcode.Barcode.SetScanParameters()
at Barcode.Barcode.Reader_ReadNotify(Object sender, EventArgs e)
at System.Windows.Forms.Control.TASK.Invoke()
at System.Windows.Forms.Control._InvokeAll()
at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
at System.Windows.Forms.Application.Run(Form fm)
at AppName.Program.Main()

你能再多看一点代码吗?我想你的意思是。条形码变为空(你能确认吗?)这表明有人在别处设置了它,所以最好能看到更多的代码。不,我不认为这是线程问题NullPointerException你能发布更多的代码吗?触发问题所需的全部代码就是这些代码。请查看我的编辑。看起来您在UI中有对条形码阅读器的引用,或者尝试从后台线程更新控件。请阅读有关后台线程、委托和事件处理程序的信息,了解如何从后台线程更新UI。如果看不到更多的代码,尤其是UI代码,就没有更多的帮助了。