【问题标题】:Motorola MC65 - EMDK .NET 2.6 - E_SCN_READTIMEOUT using ScanWait()摩托罗拉 MC65 - EMDK .NET 2.6 - E_SCN_READTIMEOUT 使用 ScanWait()
【发布时间】:2023-03-12 19:42:01
【问题描述】:

我希望将 EDMK 2.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 的情况下正常运行(假设导致读取超时)?

【问题讨论】:

  • 确保禁用或卸载 DataWedge 应用程序。我们遇到了设备上存在 DataWedge 的问题。删除后,自定义构建的应用程序运行良好。 DataWedge 似乎抓住了扫描仪和触发器,我们无法扫描条形码..

标签: motorola-emdk


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多