我正在用WPF编程一个应用程序,该应用程序在特定页面上初始化posExplorer,获取所需的扫描程序,然后打开并侦听DataEvent处理程序。它已经工作了,没有任何问题。 然后它突然(是的,突然(开始抛出异常:
HHSO4NET.dll中发生了类型为"System.Exception"的异常,但未在用户代码中处理... 像"根元素丢失"之类的东西[来自捷克语翻译,我无法更改] 是的,条形码扫描仪已连接到计算机。我已经尝试为net 1.12重新安装pos,但仍然出现相同的错误。
这背后有代码:
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;
}
有人可以告诉我,它怎么可能工作,后来不对这段代码进行任何修改就不起作用?感谢您的回答。
好吧,几天后我终于解决了它。它需要从霍尼韦尔重新安装软件 - POS4NET配置实用程序。然后删除并再次在指定端口上添加扫描仪并运行。多么简单,对吧?但仍然不知道为什么会这样。