2011-10-14 21 views
6

私は、バーコードスキャナ(Motorola MC75A)を使用するモバイルアプリケーションを開発しています。 EMDK for .NET v2.5をインストールしました。EMDK for .NETを使用できません

バーコードスキャナーの使用には、Symbol.dllとSymbol.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'."} 

私は別のエミュレータまたは何か他のものが必要なのでしょうか?

おかげ

答えて

10

私の知る限りでは、SCNAPI32.dllはシンボルのdllのことで(ROMからロード)と呼ばれるモトローラデバイス上に存在するネイティブのdll、です。エミュレータはモトローラデバイスではないため、これらのライブラリはインストールされていません。デバイスにUSBケーブルがある場合、ActiveSync(またはWindowsモビリティセンター)を使用してデバイスを接続し、デバイス自体をデバッグすることができます。私はモトローラにエミュレータがあるかどうかはわかりません。

デフォルトのエミュレータを使用してアプリケーションを実際にテストする必要がある場合は、空のSymbol.dllとSymbol.barcode2.dllを作成して、Symbolと同じインターフェイスを再作成し、それらを使用してデバッグできます。スキャナをアクティブにする代わりに、Console.WriteLine("Scanner activated");などとなります。

+0

おかげで迅速な答え – eicruzado

3

Symbol & Symbol.Audioで同様の問題が発生しました。私のエラーメッセージが

はのPInvoke DLL「AudioAPI32.dll」

を見つけることができませんこれは、いくつかのシンボル「デバイス」のためのシミュレートされたモードがあるが判明しました。 Motorola Symbolライブラリは、デバイスまたはエミュレータのレジストリを使用してこれらのモードを検出します。エミュレータのレジストリにアクセスするには、それからちょうどあなたのエミュレータ(のWindows Mobile 6.5.3 Professionalのエミュレータ)に接続し、no シミュレーション値が 'としてありませんことを確認してくださいリモートレジストリエディタ

\ Visual Studioのリモートツールを使用することができます何のシミュレーション - 文字列値が存在しない場合は「

[HKEY_LOCAL_MACHINE \ SOFTWARE \記号]

で、デフォルトはおそらくオートではありません - エミュレータは、あなたがしたいモードを尋ねられた場合にはつかいます。 Simulationを 'Always'として追加することもできます。

あなたはまた、例えば、デバイスが使用可能かどうかを確認するためのチェックを追加することができます。

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

+0

のために、私はシミュレーション値を追加しますが、私はまだエラーを取得します。私はコードをテストするユニークな方法は、デバイスでデバッグしていると思います。答えのためのTanks。 – eicruzado

+0

シミュレーションの値を 'Always'に設定しましたが、現在は連続して読み取りイベントが発生しています... – Geoff

関連する問題