EMDK (バージョン 2.6) を使用して MC75 のバーコード スキャナにアクセスするマルチフォーム Windows モバイル アプリケーションがあります。Singleton を使用してバーコード スキャナーにアクセスします。アプリケーションの開始時に呼び出しbarcodereader.Actions.Enable()
、アプリケーションの終了時に「barcodereader.Actions.Disable()」を呼び出します。基本的に、スキャナーを機能させるためのガイドとして EMDK サンプルを使用しました。
アプリケーションの実行中に、フォームのアクティブ化イベントでイベント ハンドラーをバーコード リーダーの「readNotify」に追加し、フォームがアクティブ化されたときにイベント ハンドラーを削除します。これが正しく行われていることを確認するコードを挿入し、新しいイベント ハンドラーを追加する前に既存のイベント ハンドラーが存在しないことを確認するチェックを追加しました。
アプリケーションは正常に動作しますが、何らかの理由でバーコード スキャナーが突然切れて、トリガー ボタンを押しても動作しません。これは常に同じ場所で発生しているようです (約 20 回の奇妙なスキャンが 3 つのフォームにまたがった後)。エラーはキャッチされず、スキャナー ライトは点灯しません。実行するスキャンの設定回数があり、数秒前にスキャンが成功したフォームでスキャンが停止します。1 つのフォームで 20 を超えるスキャンを実行できますが、別のフォームでスキャンを実行した場合にのみ問題が発生するようです。
アプリケーションを再起動すると、スキャナーは再び機能します。Datawedge ソフトウェアはインストールされていますが、使用されていません。
ここでの調査中にこの問題を確認しましたが、私の問題は断続的ではないようです。
Symbol サポート サイトで、フォーム間を移動するときに「.Actions.Enable」と「.Actions.Disable」を繰り返し呼び出すことは望ましくないというメモを見ましたが、私はこれを行いません。
アプリで何をチェックすればいいのか途方に暮れています。何か案は?
詳細 - Windows Visual Studio 2008 を使用し、デバイスは Windows Mobile 6.5 Professional、EMDK バージョン 2.6、C# で記述されたアプリケーションを実行しています。