我希望将 EDMK 2.6 库中的 Barcode2 类集成到我们现有的条码扫描界面中。
我已将示例代码连接到我们的接口(interface)方法 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 应用程序(这可以通过 Motorola 的 datawedge API 以编程方式完成,感谢 Abdel 的提示!)。
https://docs.symbol.com/ReleaseNotes/Release%20Notes%20-%20DataWedge_3.3.htm
一些关于我们的 Windows Mobile 应用程序的背景以供引用,我们有一个硬件单例,它包含所有硬件组件的接口(interface),并通过反射加载相关类型和程序集。如果我们直接引用类型,上面的代码就可以工作。
最终的解决方案是使用 Symbol.Barcode 库而不是 Symbol.Barcode2。
关于motorola-emdk - 摩托罗拉 MC65 - EMDK .NET 2.6 - E_SCN_READTIMEOUT 使用 ScanWait(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13820632/