首页 > 解决方案 > 如何使用 C#.Net 实现 POS 扫描仪的 DirectIO 事件?

问题描述

我正在尝试使用 Pos Scanner 的 DirectIO 事件生成错误哔声,但我不知道正确的参数。事件名称是 DirectIO,它采用三个参数,他的语法是:

directIO(DIO_SCANNER_DIO_ERROR_BEEP,数据,对象);

我们不知道上述事件接受的参数。您能否通过 C#/VB.Net 中的示例向我们提供有关上述事件的更多详细信息。

扫描仪详细信息:DataLogic Magellan 9800i

谢谢,

标签: c#winformsbarcode-scannerposmagellan

解决方案


这是一个有点旧的材料,但支持的功能可能会因扫描仪型号和连接方法而异。
OEM USB、RS232 标准 RS232 单电缆 OPOS 服务对象

如果您通过 POS for .NET 调用 OPOS,请参阅此页面。
PosCommon.DirectIO 方法(POS for .NET v1.12 SDK 文档)

public abstract DirectIOData DirectIO (
    int command,
    int data,
    Object obj
)

参数

  • 命令
    命令号。服务对象分配的特定值。
  • 数据
  • 对象

备注
使用 DirectIO 方法允许服务对象向应用程序提供其设备类的标准服务对象不支持的功能。根据服务对象对命令的定义,DirectIO 方法可能是异步的或同步的。

DirectIO 返回 DirectIOData 类的一个实例。

DirectIOData 成员(POS for .NET v1.12 SDK 文档)

Scanner 对象必须处于 DeviceEnabled=true 状态。

除非另有说明,否则data参数应为 0,obj参数应为空字符串。


如果您直接调用 OPOS,请参阅以下资源:
UnifiedPOS (UPOS) Controls Combined JavaPOS and OPOS Controls

8-1 扫描仪控件的 DirectIO 命令详细信息

此时,为pDatapString参数定义一些变量,并用 指定ref
例如:

int pData = 0;
string pString = "";

int result = axOPOSScanner1.DirectIO(DIO_SCANNER_DIO_ERROR_BEEP, ref pData, ref pString);

推荐阅读