0

我正在使用带有 windows mobile 5 的 intermec CN3 设备并尝试使用条形码阅读器和成像器。

连接到 Internet 时找不到 itcscan.dll 和 imager.dll 文件。请注意,它们在未连接到互联网时可以正常工作。

条码阅读器出现以下错误:“找不到 PInvoke DLL 'ITCScan.DLL'”。这是我为 Imager 得到的错误:“无法打开 Imager”。

网上有很多关于找不到 pinvoke 错误的帖子,但我发现没有一个是特定于连接到互联网的,而且来自这些帖子的人似乎即使在离线时也会失败。

他们在新声明上失败了:

全局变量:Intermec.DataCollection.BarcodeReader barRead;

if (barRead == null)
{
    barRead = new Intermec.DataCollection.BarcodeReader();

成像器与自己的全局变量相似

img = new Intermec.DataCollection.Imager(PictureImager, Imager.PictureResolutionSize.Sixteenth);

之后设置了一些设置,但在连接到互联网时它永远不会通过这些语句。

4

1 回答 1

1

它最终成为一个内存问题。在连接到互联网时,该设备消耗了更多内存,这似乎使它超出了边缘。

首先将其带到边缘的问题是与设备本身上的 sql server ce 的连接。即使您关闭它并强制 gc.collect,最后一个 sqlconnection 似乎也永远不会留下内存。一个奇怪的解决方法是简单地关闭并重新打开然后再次关闭它以使最后一个连接在内存中非常小。

很确定这是 .Net 框架或 sqlserver 的错误。

于 2016-09-02T06:36:18.330 回答