首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于POS机上的简单作业,我应该使用VB.net 2010 PointOfService.POSPrinter类吗?

对于POS机上的简单作业,我应该使用VB.net 2010 PointOfService.POSPrinter类吗?
EN

Stack Overflow用户
提问于 2012-01-07 02:14:38
回答 1查看 3.3K关注 0票数 0

这是一个宏大的问题。但我也有关于我在尝试使用POS后遇到的问题的细节。我已经搜索了几天了.我必须说,我很难弄清楚这件事。

因此,我需要通过VB.NET将一张简单的收据打印到安装了Windows2010的EPSON-TM-T88V热敏POS机上(最终可以在Windows embedded POSReady上运行)。

我需要打印的只是一些文字和一个标志。我把我的徽标存储在打印机上。所以,我需要使用Epson的ESC/POS命令。

那么,使用Microsoft.PointOfService有意义吗?将一些转义序列发送到打印机似乎要经历很多事情!

显然,PointOfService系统还没有更新到可以与VB.net 2010无缝兼容(详细信息如下),这就是为什么我想知道我是不是走错了路。

========================

如果这是正确的,那么path...here就是我所做的,也是我被卡住的地方。

对于试图在VB2010中使用PointOfService类的人:首先,您需要下载并安装POS.net (Microsoft.PointOfService)免费的download us,然后您需要在您的vb.net项目中添加引用。当你尝试运行它时,你可能会得到一个类似下面这样的错误:

{“此方法显式使用CAS策略,该策略已被.NET框架废弃。出于兼容性原因,为了启用CAS策略,请使用NetFx40_LegacySecurityPolicy配置开关。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=155570。”}到处都有有关如何修复此问题的链接...您需要修复您的配置文件。这是其中之一: 2010年的http://social.msdn.microsoft.com/Forums/en-US/posfordotnet/thread/9b3e6f34-de26-4a36-ab8e-13722f53b9e4/,显然你需要修改QTagent32.exe.config和QTAgent.exe.config。

好的,所以我做了所有这些。但CAS策略错误再次出现,在我应用了建议的修复后,使用了不同的堆栈tace方式。在第一次调用系统时,我收到CAS错误...

代码语言:javascript
复制
at Microsoft.PointOfService.Management.Explorer.CreateExplorer()
   at Microsoft.PointOfService.PosExplorer.LoadExplorer()
   at Microsoft.PointOfService.PosExplorer.Initialize()
   at Microsoft.PointOfService.PosExplorer..ctor()

还有什么进一步的想法吗?谢谢:-)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-25 23:25:47

我不需要使用整个POS包来打印到POS打印机。相反,只要将字节直接写入打印机即可。这适用于带有Epson POS/ESC转义序列的VB.net 4.0。

以下是说明:http://support.microsoft.com/kb/322090

基本上,我使用了rawprinterhelper类。然后,您可以直接发送转义序列。

我确实收到了一个PInvokeStackImbalance错误。rawprinterhelper需要这一项更改才能工作。代码需要如下所示( pd参数是integer而不是long):

代码语言:javascript
复制
<DllImport("winspool.Drv", EntryPoint:="OpenPrinterW", _
      SetLastError:=True, CharSet:=CharSet.Unicode, _
       ExactSpelling:=True, CallingConvention:=CallingConvention.StdCall)> _
   Public Shared Function OpenPrinter(ByVal src As String, ByRef hPrinter As  intPtr, ByVal pd As Integer) As Boolean
  End Function

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/13fce4f7-e779-4ce1-b421-1de6007595fe/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8762465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档