问题标签 [pos-for-.net]

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 回答
399 浏览

c# - WaitForDrawerClose 阻止打印

我正在编写一个使用 Pos for .Net 的应用程序,并且我注意到如果您调用 WaitForDrawerClose,那么在它返回之前您将无法打印收据。

这是不可取的行为。是否有其他方法可以在不阻塞打印机的情况下等待收银机关闭?

我查看了OnDrawerStateChanged Event,但它是 CashDrawerBase 的受保护成员,我不完全确定如何访问它。

这是我的SSCCE:

0 投票
0 回答
827 浏览

c# - 如何在 .NET Framework 4.5 项目中使用 Microsoft.PointOfService 1.12 版

我对 Microsoft.PointOfService 1.12 有疑问。我使用 .NET 框架 4.5 创建项目,并使用 Microsoft.PointOfService 1.12 版。我收到类似的错误

'Microsoft.PointOfService.Management.Explorer' 的类型初始化程序引发了异常。

我遵循本教程。但这不是成功。我得到更多的错误,比如

动态操作只能在同构 AppDomain 中进行。

按照本教程,我必须禁用legacyCasPolicy但这同样意味着我不能在 .NET framework 4.5 中使用 Microsoft.PointOfService 1.12。

你有什么想法来解决这个问题吗?

0 投票
1 回答
645 浏览

c# - 使用 POS for .NET 在财务打印机中打印条形码

我正在为 .NET 使用 POS 中的财务打印机。

我需要打印条形码。我发现的唯一方法是DirectIO使用PoSCommon.

我只能打印条形码010803111200002801234567890,例如:

但我可以打印例如条形码%S0003014000097

我也可以在哪里找到参数的含义的很好描述DirectIO,因为官方文档很差。

0 投票
1 回答
1455 浏览

c# - .NET 条码扫描仪 DeviceEnabled 的 POS 未能设置

我目前正在开发一个 .NET 4.5.1 应用程序,它应该使用条码扫描仪来读取二维条码文本。为此,安装并使用了 Microsoft POS for .NET 1.14.1。条形码 sanner (Intermec/Honeywell ED40) 驱动程序已正确安装,OPOS 驱动程序是非托管 OCX。

我使用典型的工作流程在 WinForms 项目中创建扫描仪实例:

如果应用程序使用管理权限启动,一切正常。但是,如果使用普通用户权限启动,则无法启用扫描仪。执行scanner.DeviceEnabled = true语句时,抛出以下异常:

如果我编译并启动提供的 Microsoft 示例“Microsoft POS Tester”,则会出现同样的问题。但也提供的预编译版本“C:\Program Files (x86)\Microsoft Point Of Service\SDK\Samples\Sample Application\TestApp.exe”目录工作,独立于权限。

我没有在不同的论坛和 .NET 的 POS 文档中找到解决方案。我对 ActiveX 的 Internet Explorer 安全设置做了几次实验,同样的问题。我想,这是其他安全设置,有人知道吗?

环境:

  • 视窗 7 专业版 x64
  • .NET 4.5.1

谢谢。

编辑:

几个小时后,我找到了原因,是注册表虚拟化。制造商的 OPOS 驱动程序 (OCX) 尝试写入HKLM/Software/Wow6432Node/Intermec子项。因此,该写访问被虚拟化为 HKEY_USERS/[User SID]_Classes/VirtualStore/Machine/Software/Wow6432Node/Intermec。但是虚拟商店里的钥匙不完整,很多值都不见了。

解决方案:

  • 删除虚拟存储中的HKEY_USERS/[User SID]_Classes/VirtualStore/Machine/Software/Wow6432Node/Intermec键。
  • 为原始HKLM/Software/Wow6432Node/Intermec密钥的 Windows用户组分配完全访问权限。因此,所有用户都访问相同的注册表项。
0 投票
2 回答
1108 浏览

c# - 如何在 .NET 的 POS 中使用 DirectIO() 发送查询命令?

我目前正在开展一个项目,使用 C#、POS for .NET 和 Honeywell 的 POS4NET 套件来控制 Honeywell Genesis 7580G 扫描仪。我想获取当前的串行读取超时,所以我通过以下方式从 POS4NET 调用 DirectIO() 方法:

此代码打印:

“$:响应:TRGSTO20”

其中缺少三个零(时间单位为毫秒)和 [ACK] 字符。我期待这个...

“$:响应:TRGSTO20000[ACK]”

但是,如果我更改命令以获得不同的设置...

代码按预期工作,并打印

“$:响应:BEPPWR1[ACK]”

使用 DirectIO() 发送查询命令的正确方法是什么?

0 投票
2 回答
551 浏览

c# - .NET 1.14 System.TypeInitializationException 错误的 POS

我正在尝试创建一个从摩托罗拉 LS2208 扫描仪读取条形码的 .NET 应用程序。

不幸的是,当我尝试初始化PosExplorer对象时,应用程序在开始时崩溃

这是它生成的异常:

Microsoft.PointOfService.dll 中的 System.TypeInitializationException'

我在使用 .NET 4.5 的 Windows 10 PC 上运行它,相同的项目在 Windows 7 PC 上运行良好。

W10 上的 POS 1.14 有问题吗?

我已经尝试将其添加到我的 appconfig 文件中,但出现了同样的问题:

0 投票
1 回答
73 浏览

pos-for-.net - 关闭应用程序时禁用条形码扫描仪

我在应用程序中使用条形码扫描仪(LS2208 OPOS 模式),每次关闭它时,扫描仪都会被禁用。当我重新打开应用程序时,它再次开始工作。

在我的应用程序中没有调用禁用它,那么为什么会发生这种情况?这是正常的吗?

POS for .NET SDK 中的示例应用程序也会发生同样的情况

0 投票
2 回答
2215 浏览

c# - 使用控制代码踢钱箱

我正在使用爱普生热敏打印机和钱箱。Cash Drawer 与打印机连接。参考http://keyhut.com/popopen.htm,踢出钱箱的代码是27,112,0,50,250。我试图将此代码发送到打印机,但没有任何反应。我将 POS 用于 .NET,打印机已在 SetupPos 中注册。

这是我的代码:

打印文本正常,但发送代码不起作用。我能做些什么?谢谢。

0 投票
2 回答
136 浏览

c# - POS .net 未发布 MSR

我在我的应用程序中使用了 MSR 设备,该设备在应用程序运行时按预期工作。但是,如果我的应用程序崩溃或被强制关闭,则 MSR 不会被释放并且无法回收(尽管它仍然可以打开和关闭)。通过实验,我发现如果我注销用户或重新启动 OPOS 控制服务,那么一切正常。

我不相信硬编码重新启动服务是要走的路,宁愿强制设备因错误而释放。

有谁知道这是否可能?

提前致谢。

0 投票
1 回答
166 浏览

c# - .Net 打印格式的 POS - 无法逃避正确

我尝试使用 set text align right 但是当我尝试上面的代码时,我得到了那个错误。

这是错误:

输入字符串的格式不正确。

我的 .net 版本是 1.14.1

我尝试了两种方法都报错了。

第一种方式

第二种方式