0

我有一个使用设备摄像头的摩托罗拉 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 上运行良好,最后一行抛出以下异常:

创建 Imager 失败: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

我在使用摩托罗拉 MC75A 时遇到了这个问题。事实证明,也是安装在设备上的 Datawedge 应用程序导致其无法正常工作。相机和条形码扫描仪似乎是某种联系在一起的。您一次只能使用一个,并且由于 DataWedge 已经在运行,我的代码/项目正在生成 IMAGE_Open 失败:E_IMG_INVALIDDEVICE。只需进入 DataWedge 并停止该过程即可立即解决此问题。

于 2015-01-02T09:25:33.400 回答
0

您必须从摩托罗拉网站 (SPR23173) 下载并安装 CAB 才能启用第二个源摄像头。

于 2014-08-25T14:13:42.603 回答