2016-08-29 9 views
0

Im используя устройство intermec CN3 с окнами mobile 5 on и пытающиеся использовать штрих-код и тепловизор.CN3 barcodereader и imager терпят неудачу при подключении к интернету

Файлы itcscan.dll и imager.dll не могут быть найдены при подключении к Интернету. Обратите внимание, что они отлично работают, не подключаясь к Интернету.

Я получаю следующую ошибку для barcodereader: «Не могу найти 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

Можете ли вы добавить дополнительный код своего класса, содержащий этот init вашего BarcodeReader, а также добавить точную деталь исключения? –

+0

Не имеет смысла, если объект BarcodeReader и Imager можно инициализировать без подключения к Интернету, но не с подключенным к Интернету. Где находится ITCScan.dll на устройстве и какая версия DCNet.cab вы установили? – josef

+0

@josef На устройстве DLL находятся в папке Windows. Ive попытался скопировать их оттуда в папку приложения без успеха. Я установил CE5 один. – Ferdie

ответ

1

В конечном итоге это проблема с памятью. При подключении к Интернету устройство использовало немного больше памяти, и это, казалось, опрокидывало его по краю.

Проблема, которая привела его к краю в первую очередь, была связью с сервером sql на самом устройстве. Похоже, что последнее sqlconnection никогда не оставляет памяти, даже если вы ее закроете и запустите gc.collect. Странное обходное решение - это просто закрыть и снова открыть, а затем закрыть его, чтобы последнее соединение было действительно маленьким в памяти.

Довольно уверен, что это ошибка либо с .Net framework, либо с sqlserver.