使用OPOS兼容硬件的事件顺序是什么?

Jae*_*Tee 2 c# opos pos-for-.net

我正在使用兼容OPOS的MSR.是事件的顺序:

  1. 打开
  2. 要求
  3. 启用
  4. 发布
  5. 关

Joh*_*ers 5

从技术上讲,它是Open()/ ClaimDevice()/ DeviceEnabled= TRUE/DeviceEnabled= FALSE/ReleaseDevice()/ Close().

Open()请求指定设备的句柄,如果设备存在,则应该有效. Close()是匹配的对函数,应该在应用程序不再需要该设备时调用它.

ClaimDevice()(以前称为Claim()方法)将尝试访问设备.如果设备是专用设备(例如条形码扫描仪),ClaimDevice()如果已经声明了其他进程,则会失败. ReleaseDevice()(也称为Release()但与COM方法冲突的名称Release())是应用程序不再需要访问设备时应调用的匹配对函数.这样可以在应用程序之间轻松共享设备.例如,如果销售应用程序上有一个按钮进入库存应用程序 - 销售应用程序应调用ReleaseDevice()扫描程序,以便库存应用程序可以成功调用ClaimDevice().

设置DeviceEnable为TRUE将使设备准备好输入.如果它是条形码扫描仪,它会打开激光.只有启用的设备才会触发DataEvent().当您准备接受条形码时,通常会将条形码扫描器设置为true,如果条形码出错并且您希望它们停止扫描,则将其设置为false.

从技术上讲,您DeviceEnable在调用之前不必设置为false ReleaseDevice(); 而且你甚至不必在打电话ReleaseDevice()之前打电话Close().OPOS就像一个神经质的女仆,即使应用程序没有,也会清理它们.但是,我个人认为,如果设备管理不当,就会出现草率编程的证据.

  • 我正在我的程序中使用OPOS扫描仪.当程序关闭时,我禁用,释放和关闭设备,但程序运行后没有其他应用程序可以使用它.此外,如果我重新启动没有应用程序可以使用 甚至不是我的应用程序导致问题.任何的想法? (2认同)