3

バーコード スキャナーが組み込まれている Motorolo MC 9190 G モバイル用の簡単なアプリケーションを開発したいのですが、バーコードをスキャンしてメッセージ ボックスに表示したいと考えています。モバイルを持っていないので、エミュレーターでテストする必要があります。エミュレーターにコードをデプロイすると、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)

私はこれの初心者です.. plsは助けて..

4

1 に答える 1

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();
    }
}
于 2013-03-01T13:31:14.537 に答える