0

Motorola のバーコード スキャナ用に開発していますが、スレッドの問題が発生しているようです。スキャナーからの入力のハンドラーとして設定barcode_OnRead()し、同じフローでスキャナーの状態を操作すると、NullPointerExceptionすぐに後で取得されます。たとえば、これにより問題が発生します。

private void barcode_OnRead(object sender, Symbol.Barcode.ReaderData readerData)
{
  this.barcode.EnableScanner = false;
}

スレッドの問題のように思えますが、私は C# にあまり精通しておらず、別のスレッド (たとえば UI スレッド) で sth を実行する方法がわかりません。

編集: 上記のコードだけで問題が発生します。その時でthis.barcodeはありません。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()
4

0 に答える 0