0

我正在使用 POS For .NET 在 opos 应用程序中使用票务打印机、扫描仪和秤。我从 Monroe 安装了 CCO,让他们在 Windows 7 / .NET 4.0、WPF 应用程序上工作。

我的 Epson 打印机和 Datalogic 扫描仪工作正常。这就是我用来让它在我的 app.config 中工作的方法。

  <runtime>
      <NetFx40_LegacySecurityPolicy enabled="true"/>
  </runtime>

现在我在尝试使用 Symbol 扫描仪和 Mettler toledo 秤时遇到了问题。他们都给出了访问冲突异常:

Attempted to read or write protected memory. This is often an indication that other memory is corrupt.

当我尝试评论标尺之间的代码时,而不是符号。你们中有人对如何解决这个问题有任何想法吗?或者潜在的问题可能是什么?我已经在互联网上寻找了几天,所以非常感谢一个解决方案。

谢谢,扎科斯

4

2 回答 2

1

对于每个遇到此问题的人:

--> 永远不要使用线程来激活/创建对象扫描仪、打印机或秤。

这是我的问题,有些厂商不支持。

于 2013-10-15T13:09:01.717 回答
1

正如 Zarkos 所说,某些设备在通过 POS for .NET 访问时不喜欢使用线程。

我最近遇到了 AURES ODP-333 打印机的问题,在执行该printer.DeviceEnabled = true步骤时会造成严重的崩溃。从线程中调用该行会在调试期间使 vshost 崩溃,没有有用的异常。检查事件查看器,错误是随机混合BEXAPPCRASH错误引用MFC41.dll我的应用程序中的任何一个或某些内容,但总是会提到异常代码0xc0000005,这意味着某处发生了非托管访问冲突。

值得注意的是,这并不影响所有设备。EPSON 收据打印机和霍尼韦尔条码扫描仪没有螺纹。

我本来想将此作为评论添加到 Zarkos 的答案中,但我还没有足够的声誉!对不起!

于 2014-06-05T15:00:45.647 回答