我在WPF中编写应用程序,在特定页面上初始化posExplorer,获取所需的扫描程序,然后打开并侦听DataEvent处理程序。它已经奏效,没有任何问题。 然后它突然(是的,突然)开始抛出异常:
HHSO4NET.dll中出现'System.Exception'类型的异常,但未在用户代码中处理... 像'根元素缺失'的东西[来自捷克语翻译,我无法改变] 是的,条形码扫描仪已连接到计算机。我已经尝试重新安装net for net 1.12,但仍然是同样的错误。
这背后有代码:
Private PosExplorer posExplorer = new PosExplorer ();
Private Scanner scan;
PosExplorer.DeviceAddedEvent + = new
DeviceChangedEventHandler(posExplorer_DeviceAddedEvent);
Var deviceCollection = posExplorer.GetDevices (DeviceType.Scanner);
Foreach (DeviceInfo dInfo in deviceCollection)
{
If (dInfo.Type == "Scanner" && dInfo.ServiceObjectName == "HoneywellScannerSO")
{
If (dInfo.LogicalNames.Length> 0)
{
Devicess.Add (dInfo);
}
}
}
Scan = (Scanner) posExplorer.CreateInstance (devicess [0]);
If (! (Scan.State == ControlState.Idle))
{
Scan.Open (); //AFTER THAT IT FAILS
Scan.Claim (0);
Scan.DeviceEnabled = true;
Scan.DataEvent + = new DataEventHandler (activeScanner_DataEvent);
Scan.DataEvent = true;
Scan.DecodeData = true;
}
有人可以告诉我,它是如何工作的,以后在没有任何修改的情况下它不起作用?谢谢你的回答。
答案 0 :(得分:0)
好吧,过了几天我终于解决了。它需要从霍尼韦尔重新安装软件 - POS4NET配置实用程序。然后删除并再次在指定端口上添加扫描程序并运行它。多么简单吧?但仍然不知道为什么会这样。