Motorola MC65 - EMDK .NET 2.6 - 使用ScanWait()的E_SCN_READTIMEOUT

Jos*_*ose 5 motorola-emdk

我希望将EDMK 2.6库中的Barcode2类集成到我们现有的条形码扫描界面中.

我已将示例代码连接到我们的接口方法,StartScan()并始终得到E_SCN_READTIMEOUT结果,即使代码似乎响应扫描.(断点at 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;
                    }
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

结果总是如此E_SCN_READTIMEOUT,我怀疑这可能与设备上运行的DataWedge 3.4发生冲突,但扫描仪和触发器的功能似乎依赖于它.

使用DataWedge将条形码扫描到剪贴板不是我们的选择,有没有办法让数据库在DataWedge下运行(假设导致读取超时)?

Jos*_*ose 1

DataWedge 应用程序确实需要禁用(这可以通过 Motorola 的 datawedge API 以编程方式完成,感谢 Abdel 在此提供提示!)。

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

我们的 Windows Mobile 应用程序的一些背景信息供参考,我们有一个硬件单例,其中包含所有硬件组件的接口,并通过反射加载相关类型和程序集。如果我们直接引用类型,上面的代码就可以工作。

最终的解决方案是使用 Symbol.Barcode 库而不是 Symbol.Barcode2。