Невозможно использовать EMDK for.NET

Я разрабатываю мобильное приложение, которое использует сканер штрих-кода (Motorola MC75A). Я установил EMDK для .NET v2.5.

Я использую символ библиотеки.dll и символ.barcode2.dll для использования сканера штрих-кодов. Но я получаю ошибки при запуске кода на устройстве эмулятора с Windows Mobile 6.5.

код:

Barcode2 myBarcode2 = null;
Device MyDevice = SelectDevice.Select(
"Barcode",Symbol.Barcode2.Devices.SupportedDevices);// Exception here

исключения:

{"Can't find PInvoke DLL 'SCNAPI32.dll'."}

мне нужен другой эмулятор или что-то еще?

спасибо

2 ответов


НАСКОЛЬКО Я ЗНАЮ, SCNAPI32.dll-это собственная dll, которая присутствует на устройствах motorola (загружается из ПЗУ) и вызывается dll-символом. Эмулятор не является устройством motorola, поэтому эти библиотеки не установлены. Если устройство имеет USB-кабель, вы можете подключить его с помощью ActiveSync (или Windows mobility center) и отладить на самом устройстве; я не знаю, есть ли у motorola эмуляторы.

Если вам действительно нужно, чтобы проверить приложение с помощью эмулятора по умолчанию, вы можете создать пустой символ.dll и символ.barcode2.dll, воссоздать тот же интерфейс, что и Symbol и отладить с помощью них. Вместо активации сканера вы могли бы тогда Console.WriteLine("Scanner activated"); etc.


я столкнулся с аналогичной проблемой с Symbol & Symbol.Звуковой. Мое сообщение об ошибке

Не удается найти PInvoke DLL ' AudioAPI32.библиотеки DLL'

оказывается, есть смоделированные режимы для некоторых символов "устройства". Библиотеки символов Motorola обнаруживают эти режимы с помощью реестра устройства или эмулятора. Для доступа к реестру эмулятора можно использовать Visual Studio Remote Tools \ Удаленный Редактор Реестра

тогда просто подключитесь к вашему эмулятор (Windows Mobile 6.5.3 профессиональный эмулятор), и убедитесь, что нет моделирование значение как "никогда" в

[HKEY_LOCAL_MACHINE\Software\Symbol]

если нет значения Simulation-string, по умолчанию, вероятно, автоматически-в этом случае эмулятор спрашивает, Какой режим вы хотите использовать. Вы также можете попробовать добавить симуляцию как "всегда".

вы также можете добавить проверки, чтобы узнать, доступны ли устройства, для пример:

if (Symbol.Barcode.Device.AvailableDevices == null) return;