验证条形码读取长度时出错

时间:2014-02-10 23:02:00

标签: vb.net visual-studio-2005 windows-ce

我在Visual Studio 2005中有一个带有EMDK 2.6的项目,在Windows CE上实现了XP SP3上的MC1000数据收集器。 我在项目中有这个功能,给我一个我无法解决的错误:

'Handle data from the reader
Private Sub HandleData(ByVal TheReaderData As Symbol.Barcode.ReaderData)
'MsgBox("Hello I'm reading ....")
If Me.DataTextBox.Text = "" Then
    Me.DataTextBox.Text = TheReaderData.Text
    ' Here begins the verification of the length
    If Len(Me.DataTextBox.Text) = Me.TextBox6.Text Then
        ' The length is ok
        objStreamWriter.WriteLine(Me.DataTextBox.Text)
        'Update the last read
        Me.Label5.Text = Me.DataTextBox.Text
        'Clean the field of the current read
        Me.DataTextBox.Text = ""
        'The counter of the code bars reads increases +1
        Me.TextBox3.Text = Me.TextBox3.Text + 1
    Else
        Me.DataTextBox.Text = ""
        MessageBox.Show("The length of the string read is not as expected", "Error !")
    End If
End If
End Sub

当我读取长度与Me.TextBox6.Text(例如24)不同的条形码时,问题就开始了,消息框显示正常,但是中间显示另一个消息框,出现下一个错误: “StartRead无效请求已读取” 程序继续正常,我需要消除这个错误,因为看起来非常糟糕。 有帮助吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

MessageBox不会阻止您的应用程序处理其他事件,并且当您仍处于处理前一个条形码的功能时,可能会读取新的条形码(或者再次通知相同的条形码)。 您是否尝试删除对MessageBox的调用并检查是否仍然发生这种情况? 在调用MessageBox之前,您可能需要禁用阅读器。