我有使用设备相机的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上运行不正常,其中最后一行抛出以下异常:
无法创建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,同样的设备)。
任何人都有任何建议或想法为什么会发生这种情况,或者如何解决?
答案 0 :(得分:1)
我遇到了同样的问题,但是因为我的条码扫描器处于活动状态而导致我失效,禁用条形码扫描器为我修复了这个问题。
barcode2.Disable()
答案 1 :(得分:0)
您必须下载并安装CAB才能从motorola网站启用第二个源摄像头(SPR23173)。
答案 2 :(得分:0)
我遇到了摩托罗拉MC75A的这个问题。事实证明,Datawedge应用程序也安装在设备上,阻止它正常工作。相机和条形码扫描仪似乎有点联系。您只能同时使用一个,并且由于DataWedge已在运行,我的代码/项目正在生成IMAGE_Open失败:E_IMG_INVALIDDEVICE。只需进入DataWedge并停止该过程即可立即解决此问题。