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

时间:2012-12-11 12:39:46

标签: motorola-emdk

我希望将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下运行(假设导致读取超时)?

1 个答案:

答案 0 :(得分:1)

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

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

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

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