0

デバイス カメラを使用する Motorola MC9500 シリーズ用のアプリケーションがあります。

Imager を初期化するには、次の方法を使用します。

        Symbol.Generic.Device MyDevice;
        int i = 0;

        if (imager == null)
        {
            MyDevice = (Symbol.Generic.Device)Symbol.Imaging.Device.AvailableDevices.GetValue(0);

            for (i = 1; MyDevice != null; i++)
            {

                if (MyDevice.FriendlyName.Equals("Image Capture Driver for Color Camera"))
                    break;

                MyDevice = (Symbol.Generic.Device)Symbol.Imaging.Device.AvailableDevices.GetValue(i);

            }

            if (MyDevice == null)
            {   
                MessageBox.Show("Camera não foi encontrada.");
                this.Close();
                return;
            }

            imager = new Symbol.Imaging.Imager(MyDevice);
        }

WM6.1 では問題なく動作しますが、最後の行で次の例外がスローされる WM6.5 では動作しません。

イメージャの作成に失敗しました: IMAGE_Open に失敗しました: E_IMG_INVALIDDEVICE

製造元のドキュメントによると、これは「物理デバイス ドライバー (PDD)。DLL に必要なエントリ ポイントが含まれていませんでした。」という意味です。ただし、すべてのドライバーを最新の状態にしています。それらは次の場所にあります: http://support.symbol.com/support/search.do?cmd=displayKC&docType=kc&externalId=12683&sliceId=&dialogID=469856149&stateId=1%200%20469852171

プログラムを実行しているとき、他のタスクは実行されていません。これは、別のプロセスがカメラを自分自身にロックしていることが原因である可能性があると考えたからです。

関連する事実は、カメラを使用する他のアプリケーションでは、カメラが動作/起動しないように見えることです。ただし、クライアントのデバイス (WM6.5、同じデバイス) でも動作するようです。

なぜこれが起こるのか、またはそれを解決する方法について、誰かが何か提案や考えを持っていますか?

4

3 に答える 3

1

私は同じ問題を抱えていましたが、バーコードスキャナーもアクティブにしていたために発生し、バーコードスキャナーを無効にするとこれが修正されました。

barcode2.Disable()
于 2014-01-23T10:52:14.003 に答える
0

Motorola MC75A でこの問題が発生しました。デバイスにインストールされていた Datawedge アプリケーションが、デバイスの正常な動作を妨げていたことが判明しました。カメラとバーコード スキャナーはリンクしているように見えます。一度に使用できるのは 1 つだけで、DataWedge が既に実行されていたため、私のコード/プロジェクトは IMAGE_Open に失敗しました: E_IMG_INVALIDDEVICE を生成していました。DataWedge に入ってプロセスを停止するだけで、これは即座に修正されました。

于 2015-01-02T09:25:33.400 に答える