我希望将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下运行(假设导致读取超时)?
DataWedge 应用程序确实需要禁用(这可以通过 Motorola 的 datawedge API 以编程方式完成,感谢 Abdel 在此提供提示!)。
https://docs.symbol.com/ReleaseNotes/Release%20Notes%20-%20DataWedge_3.3.htm
我们的 Windows Mobile 应用程序的一些背景信息供参考,我们有一个硬件单例,其中包含所有硬件组件的接口,并通过反射加载相关类型和程序集。如果我们直接引用类型,上面的代码就可以工作。
最终的解决方案是使用 Symbol.Barcode 库而不是 Symbol.Barcode2。