问题标签 [opos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1542 浏览

.net - .NET 的 POS:无法设置 MSR 的 DeviceEnabled 属性

.NET 的 POS:我正在尝试将 MSR 与 .net 的 POS 连接,但我无法设置属性 DeviceEnabled = true。它给了我以下例外

编辑:无法启用设备。有关详细信息,请参阅内部异常。

{“访问被拒绝”}

在 Microsoft.PointOfService.ExampleServiceObjects.HidReader.HidThread.StartReading() 在 Microsoft.PointOfService.ExampleServiceObjects.HidReader.OpenDevice() 在 Microsoft.PointOfService.ExampleServiceObjects.ExampleMsr.set_DeviceEnabled(布尔值)

0 投票
2 回答
2920 浏览

barcode-scanner - 使用 Symbol 数字图像扫描仪进行 OPOS 图像采集

我们的应用程序目前使用 Motorola/Symbol DS6707 数字图像扫描仪进行图像捕获和条码扫描。我们通过 Moto SNAPI 驱动程序与扫描仪通信。由于这是特定于摩托罗拉/符号扫描仪的,我正在考虑使用更通用的接口(例如 OPOS)进行重写。这是在 C/C++ 应用程序中。

我们内部还有一台霍尼韦尔成像扫描仪,我们正在使用它进行测试。该型号(Xenon 1900)还支持成像和条形码扫描。

两种扫描仪都有 OPOS 驱动程序以支持“扫描仪”(条形码阅读器)设备类。两者都没有作为“成像扫描仪”的支持。但是,霍尼韦尔支持使用 DirectIO 通过扫描仪驱动程序进行成像,这在他们的 SDK 中有记录。

有谁知道摩托罗拉 OPOS 驱动程序是否支持成像,如果支持,DirectIO 命令是什么?我找不到任何有关 Motorola/Symbol OPOS 支持的 SDK 或其他文档。

谢谢!

0 投票
1 回答
1782 浏览

delphi - Delphi中通过RJ12发送信号

我有一个中国制造商的收银机,我想用 Delphi 代码打开它的收银机。

收银机和抽屉通过 RJ12(6 针)电缆连接。

我在其他地方看到过提到“收银机和 POS 系统向收银机发送 12V 或 24V 信号以激活电磁阀以打开收银机。” 抱歉,制造商的网站在这里

如何在 Delphi 中做到这一点?

0 投票
1 回答
10357 浏览

opos - POS 打印机 OPOS 接口以及何时使用它

我正在为咖啡吧餐厅开发一个 POS 系统。它工作正常,但我有一些关于打印机的问题。这里的人建议我使用POS for .NET.

但我不能,因为:

  1. 我的客户有一台以 Windows 家庭版为服务器的机器。所以 .NET 的 POS 在他的两家商店之一没有运气。

  2. 他之前使用 GDI 图形打印到热敏打印机的 pos 软件。但是太慢了,不知道为什么.. 你必须等待 10 秒才能打印收据。

  3. 我收到投诉是因为使用这些打印机的字体有点小。(42 个字符 80 毫米纸)这是真的。本机打印机的字体太糟糕了。我看到的所有打印机都很糟糕,因为它们不是来自一个好品牌。而且开发字体的人太无聊了,他们使用拉丁字母和本地字母混合。但是图形模式下的打印看起来更好,抗锯齿,平滑清晰,速度几乎相同。

  4. 打印机没有 OPOS.NET 驱动程序。我给生产这些打印机的中国公司发了邮件,说他们还没有开发出来。

  5. 其中一些打印机不支持一些基本的 ESC/POS 命令!即使是进纸命令也有问题。只有较新的打印机几乎兼容,但较旧的打印机根本不兼容。

  6. 使用纯文本 + esc/pos 我不能让字体变大 x 倍。

  7. 不幸的是,GDI似乎是最兼容的方式

  8. 我们的财务设备似乎不支持将原始文本发送到打印机。它已部分实现,仅适用于 32 位系统,因为它适用于“DOS”。安装它没有运气。所以我不得不使用图形。实际上它是一个虚拟打印机。拥有财务设备的公司告诉我,图形是打印热敏收据的最佳方式,我不应该使用纯文本等......还向他们询问他们的一些打印机的 OPOS 驱动程序告诉我“f * 是什么你在说什么?”

所以我不知道该怎么办。我认为我应该支持 3 种打印方式:.NET/原始文本/图形的 POS。

另外,在发送原始文本时如何克服热敏打印机的困难?因为图形给你更多的自由。财务设备是否因为不支持文本模式而很糟糕?

0 投票
2 回答
1521 浏览

visual-c++ - OPOS收据打印机数据嗅探器/分析器

我正在向打印到 USB 连接的 OPOS 收据打印机的应用程序添加一些功能。系统运行xp。

我想查看传递给收据打印机的原始数据以及让打印机物理打印。

有什么办法可以做到吗?我查看了一些端口监视器,例如Advanced USB Port Monitor,但它们仅检测和监视本机操作系统可访问的设备,而不是 OPOS 设备。

有任何想法吗?

0 投票
1 回答
15324 浏览

c# - 端口名称不合法或无法连接到设备

尝试索取 Epson TM-T88V 票据打印机时出现上述错误。
我已经安装了:

OPOS ADK for .NET
POS for .NET v1.12

我在笔记本电脑和另一台计算机上打印了很多天,两者都工作正常。然后我决定把两台机器都放在打印机工作的地方。从那时起,我收到上述错误。

希望有人能发光,会很有帮助。
谢谢

更新:
执行健康检查实用程序后,我收到此错误:
================== 异常 ================== === Microsoft.PointOfService.PosControlException 错误代码:非法(106)错误代码扩展:0 消息:PortHandler Win32 错误。目标:无效声明(Int32)

堆栈跟踪

在 jp.co.epson.upos.core.v1_11_0001.pntr.CommonPrinterService.Claim(Int32 iTimeout) 在 CheckHealthTest.MainForm.ExecuteCheckHealth(DeviceInfo objInfo) 在 CheckHealthTest.MainForm.btnCheckHealth_Click(Object sender, EventArgs e) ----- ----InnerException----------- jp.co.epson.pos.comm.v2_0001.CommControlException 消息:PortHandler Win32 错误。目标:无效 ThrowCommException(Int32,System.String)

堆栈跟踪

在 jp.co.epson.pos.comm.v2_0001.PortHandlerIO.ThrowJNIErrorException(Int32 JNIErrorID) 在 jp.co.epson. pos.comm.v2_0001.PortHandlerIO.PortOpen() 在 jp.co.epson.pos.comm.v2_0001.PortControl.OpenPort() 在 jp.co.epson.upos.core.v1_11_0001.pntr.CommonPrinterService.OpenPort()

之后,卸载 Epson Advanced 驱动程序并运行健康检查,我得到以下异常:

ErrorCodeExtended:1001 消息:端口名称非法,或无法连接到设备。目标:无效声明(Int32)

堆栈跟踪

en jp.co.epson.upos.core.v1_11_0001.pntr.CommonPrinterService.Claim(Int32 iTimeout) en CheckHealthTest.MainForm.ExecuteCheckHealth(DeviceInfo objInfo) en CheckHealthTest.MainForm.btnCheckHealth_Click(Object sender, EventArgs e) ----- ----InnerException----------- jp.co.epson.pos.comm.v2_0001.CommControlException 消息:端口名称非法。目标:无效 ThrowCommException(Int32,System.String)

堆栈跟踪

jp.co.epson.pos.comm.v2_0001.CommonPortIO.ThrowCommException(Int32 iError, String strMessage) jp.co.epson.pos.comm.v2_0001.CommonPortIO.ThrowCommException(Int32 iError) jp.co.epson。 pos.comm.v2_0001.PortHandlerIO.PortOpen() en jp.co.epson.pos.comm.v2_0001.PortControl.OpenPort() en jp.co.epson.upos.core.v1_11_0001.pntr.CommonPrinterService.OpenPort()

在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
1641 浏览

opos - 符号 OPOS 实现 OPOS_E_NOHARDWARE 错误

我有一个 Symbol/摩托罗拉 LS4278 条码扫描仪。我已经从 Symbol 的支持网站下载了 Symbol OPOS 驱动程序软件。我正在尝试使用 Symbol OPOS Driver 软件附带的 VBDemo.exe 应用程序来声明设备。但是我收到错误代码 OPOS_E_NOHARDWARE。这意味着设备“未连接或已关闭”。然而,该设备确实已连接并且工作正常。如果我用它扫描一些东西到 Notepad.exe 中,那么扫描的数据就会出现在记事本中。请紧急告知我错过了什么。

0 投票
0 回答
205 浏览

ruby - Using WIN32OLE_EVENT::message_loop not in Main thread Issue

I'm trying to create Ruby script that allow me to get OLE events during execution of main script. I've moved WIN32OLE_EVENT::message_loop to another Thread and expect this will call my event handlers simultaneously during execution of other script parts. For example, main goal of this sample script is connect to device and get event messages (just puts it to stdout) during execution of irb console.

When i execute this script (but you can't run it because some stuff skipped) i got irb console where i can access to objects that manipulate my USB device that connected to Windows and call some methods that fired different events and i expect these events inside esc.on_event block just to see output to stdout. But this block never called. But if i will write 'exit' in irb console i will get my events because last line in sample script WIN32OLE_EVENT::message_loop!

Looks like calling message_loop working only in main Thread and calling it inside other thread not give any results.

Any ideas how to get it working? Feel free to ask additional questions. Thanks.

0 投票
1 回答
3127 浏览

c++ - 通过与 OPOS Common Controls 1.8 交互的 C++ 代码打印 Code 128 C 条形码

我正在尝试使用 OPOS Common Controls 1.8 通过 Epson TM-H6000III 收据打印机打印 Code 128 C 型条形码(因为 A/B 型对于我的要求来说太宽了)。我的代码是用 C++ 编写的。

通常,我使用以下代码段打印条形码:

这里,*lpszTextline表示要打印为条形码的数据。

根据在线找到的建议,我尝试进行以下更改以打印 Code 128 C 格式的条形码:

并尝试以各种方式格式化条形码数据:

  • 前导“{C”
  • 前导“{C”,尾随“H”
  • 没有。数据中的字符数

但没有一种方法奏效。它总是导致 ResultCodeExtended = 300003 的 OPOS_E_ILLEGAL 错误。我也无法在 Internet 上找到有关扩展代码的更多信息。

在这方面的任何帮助将不胜感激。

提前致谢。普罗苏

0 投票
0 回答
713 浏览

javascript - 使用 JavaScript 绑定到 OPOS MSR DataEvent?

我已经实现了一个 MSR OPOS ActiveX 控件,用于基于 IE 的 Web 应用程序。我已经测试了该设备并且可以正常工作;但是,我正在尝试将此处找到的 VBScript 代码移植到 JavaScript,以便于维护。

不过,我在绑定到DataEventwith JavaScript 时遇到了麻烦——当我将卡片放到读卡器上时,数据肯定会出现,因为我可以通过控制台直接查询对象ReaderControl.Track1Data并看到那里实际上有数据。

在 VBScript 版本中,似乎有一个调用方法[control]_DataEvent,您可以简单地覆盖它以绑定到事件。我已经尝试过了,由于某种原因,ReaderControl.attachEvent("DataEvent", function() { alert(ReaderControl.Track1Data); })它似乎确实有效,只有在随后设置时才有效ReaderControl.DataEventEnabled = true;

有任何想法吗?