2011-10-14 42 views
6

Estoy desarrollando una aplicación móvil que utiliza un escáner de código de barras (Motorola MC75A). Instalé EMDK para .NET v2.5.No se puede usar EMDK para .NET

Utilizo las bibliotecas Symbol.dll y Symbol.barcode2.dll para el uso del escáner de código de barras. Pero recibo errores cuando ejecuto el código en el dispositivo emulador con Windows Mobile 6.5.

Código:

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

Excepción:

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

qué necesito otro emulador o algo más?

Gracias

Respuesta

10

yo sepa, SCNAPI32.dll es una DLL nativo, que está presente en los dispositivos de Motorola (cargados desde ROM) y llamados por el símbolo DLL. El emulador no es un dispositivo Motorola, por lo que no tiene estas bibliotecas instaladas. Si el dispositivo tiene un cable USB, puede conectarlo utilizando ActiveSync (o el centro de movilidad de Windows) y depurar el dispositivo; No sé si Motorola tiene emuladores.

Si realmente necesita probar la aplicación utilizando el emulador predeterminado, puede crear Symbol.dll y Symbol.barcode2.dll vacíos, recrear la misma interfaz como Symbol y depurar usando esos. En lugar de activar un escáner, puede Console.WriteLine("Scanner activated");, etc.

+0

Gracias por la respuesta rápida – eicruzado

3

Me encontré con un problema similar con Symbol & Symbol.Audio. Mi mensaje de error fue

No encontraste PInvoke DLL 'AudioAPI32.dll'

Resulta modos no son simuladas para algunos "dispositivos" Symbol. Las bibliotecas Motorola Symbol detectan esos modos usando el registro del dispositivo o emulador. Para tener acceso al Registro emulador, puede utilizar Visual Studio herramientas remotas \ Editor de Registro remoto

A continuación, sólo se conectan a su emulador (Windows Mobile 6.5.3 Emulador profesional), y asegúrese de que no hay Simulación valor como ' Nunca' en

[HKEY_LOCAL_MACHINE \ Software \ Símbolo]

Si no hay ningún valor Simulación cuerdas, el valor predeterminado es probablemente Auto - en cuyo caso solicita al emulador del modo que desea utilizar. También puede intentar agregar Simulación como 'Siempre'.

También puede añadir controles para ver si los dispositivos están disponibles, por ejemplo:

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

+0

agrego el valor Simulación, pero todavía consigo el error. Supongo que la forma única de probar el código es la depuración con el dispositivo. Tnanks por la respuesta. – eicruzado

+0

Establecer el valor de simulación en 'Siempre' funcionó para mí, aunque ahora está activando continuamente eventos de lectura ... – Geoff

Cuestiones relacionadas