5

EDMK2.6ライブラリのBarcode2クラスを既存のバーコードスキャンインターフェイスに統合したいと考えています。

サンプルコードをインターフェイスメソッドに接続しましたが、コードがスキャンに応答しているように見えても、StartScan()常に結果が得られます。(スキャンに応答してでE_SCN_READTIMEOUTブレークポイントがヒットしますif (scan.Result == Results.SUCCESS)

public void StartScan()
        {
            if (!barcode.IsScanPending)
            {
                ScanData scan = barcode.ScanWait(2000); // 2 second timeout
                if (scan.Result == Results.SUCCESS)
                {
                    if (scan.IsText)
                    {
                        textbox1.Text = scan.Text;
                    }
                }
            }
        }

結果は常にですE_SCN_READTIMEOUT。これは、デバイスで実行されているDataWedge 3.4との競合である可能性がありますが、スキャナーとトリガーの機能はそれに依存しているようです。

DataWedgeを使用してクリップボードにバーコードスキャンを取得することは私たちのオプションではありません。DataWedgeにもかかわらずライブラリを機能させる方法はありますか(読み取りタイムアウトが発生していると仮定します)?

4

1 に答える 1

1

DataWedgeアプリケーションを無効にする必要がありました(これは、Motorolaのdatawedge APIを介してプログラムで実行できます。ヒントを提供してくれたAbdelに感謝します!)。

https://docs.symbol.com/ReleaseNotes/Release%20Notes%20-%20DataWedge_3.3.htm

参考までに、Windows Mobileアプリケーションの背景を少し説明します。すべてのハードウェアコンポーネントのインターフェイスを含み、リフレクションを介して関連するタイプとアセンブリをロードするハードウェアシングルトンがあります。タイプを直接参照した場合、上記のコードは機能しました。

最終的な解決策は、Symbol.Barcode2の代わりにSymbol.Barcodeライブラリを使用することでした。

于 2012-12-14T00:30:34.677 に答える