用于使用仿真器进行条形码扫描的Windows Mobile应用程序

时间:2013-03-01 13:21:45

标签: .net windows-mobile

我想为Motorolo MC 9190 G手机开发简单的应用程序它内置条形码扫描仪,我想扫描条形码并在msg框中显示它们。我没有手机所以我必须在模拟器中测试它。当我在模拟器中部署代码时,它会给出null异常错误。我的代码是 我添加了sample.barcode dll

Private barcodeReader As Symbol.Barcode.Reader // error occurs here itself 
barcodeReader = New Symbol.Barcode.Reader()
barcodeReader.Actions.Enable()
Dim nextReaderData As Symbol.Barcode.ReaderData = barcodeReader.GetNextReaderData()
MessageBox.Show(nextReaderData.Text)

我是初学者..请帮助..

1 个答案:

答案 0 :(得分:3)

您需要创建一个界面和一个模拟,这些内容如下:

interface IBarcodeReader
{
    string ReadBarcode();
}

public class SymbolReader : IBarcodeReader
{
    private Reader m_reader;

    public SymbolReader()
    {
        m_reader = new SymbolReader.Barcode.Reader;
        m_reader.Actions.Enable();
    }

    public string ReadBarcode()
    {
        return m_reader.GetNextReaderData().Text;
    }
}

public class MockReader : IBarcodeReader
{
    public string ReadBarcode()
    {
        return "MOCK ABCDE";
    }
}

然后在运行时,使用一些逻辑来确定您所在的平台并创建适当的实例:

public class Foo
{
    IBarcodeReader Reader { get; set; }

    public Foo()
    {
        if (ThisIsASymbolDevice)
        {
            Reader = new SymbolReader();
        }
        else
        {
            Reader = new MockReader();
        }

        var barcode = Reader.ReadBarcode();
    }
}