0

Im using an intermec CN3 device with windows mobile 5 on and trying to use the barcodereader and imager.

The itcscan.dll and imager.dll files cannot be found when connected to the internet. Please note that they work perfectly while not connected to the internet.

I get the following error for the barcodereader: "Cant find PInvoke DLL 'ITCScan.DLL'". And this is the error I get for the Imager: "Can not open Imager".

There is a lot of posts on the web about the cannot find pinvoke error but none of the ones I found are specific to being connected to the internet and the people from those posts seem to have it failing even when offline.

They fail on the new statements:

global var: Intermec.DataCollection.BarcodeReader barRead;

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

The imager is similar with its own global var

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

There are some settings being set afterwards but it never passes these statements while connected to the internet.

Ferdie
  • 47
  • 2
  • 9
  • Can you add more code of your class containing this init of your BarcodeReader, and also add the exact detail of the exception? – Nicolas R Aug 29 '16 at 08:16
  • It makes no sense if the BarcodeReader and the Imager object can be initialized without an internet connection but not with internet connected. Where is ITCScan.dll on the device and which version of the DCNet.cab did you install? – josef Aug 29 '16 at 14:23
  • @josef On the device the dlls are in the windows folder. Ive tried copying them from there to the app folder with no success. I installed the CE5 one. – Ferdie Sep 01 '16 at 09:48
  • @josef Should also note that ive installed and tried with the WM5 one too. But the imager doesnt work at all with the WM5 one. – Ferdie Sep 01 '16 at 10:21
  • The Imager will only work with a device having a 2D imager scanner. There is the featuresdemo, but CN3 is very outdated (it is not mentioned in the doc): http://apps.intermec.com/EFulfillment/SoftwareListForm.aspx?SoftwareID=2859. CLEAN BOOT the device before test. If it still does not work open a support case at https://hsm.secure.force.com/thetechsupportall/ – josef Sep 01 '16 at 13:10

1 Answers1

1

It ended up being a memory issue. While connected to the internet the device was using up a bit more memory and this seemed to tip it over the edge.

The problem that took it to the edge in the first place was a connection with a sql server ce on the device itself. It appears that the last sqlconnection never leaves memory even if you close it and force gc.collect. A strange workaround is simply to close and re-open then close it again to make the last connection really small in memory.

Pretty sure this is a bug either with .Net framework or the sqlserver.

Ferdie
  • 47
  • 2
  • 9