我正在使用带有Windows Mobile 5的intermec CN3设备并尝试使用条形码阅读器和成像器。
连接到互联网时找不到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);
之后设置了一些设置,但在连接到互联网时它从未通过这些语句。
答案 0 :(得分:1)
它最终成为一个记忆问题。当连接到互联网时,设备耗费了更多的内存,这似乎让它超越了边缘。
首先把它带到边缘的问题是与设备本身的sql server ce的连接。似乎最后一个sqlconnection永远不会离开内存,即使你关闭它并强制gc.collect。一个奇怪的解决方法就是关闭并重新打开然后再次关闭它以使最后一个连接在内存中非常小。
非常确定这是.Net框架或sqlserver的错误。