注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

银河军团大本营

光荣的军团,永远的丰碑 <坚持原创>

 
 
 

日志

 
 

Motorola Symbol MC3090 升级到 MC3190  

2012-05-10 18:02:25|  分类: 应用点滴 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  关联文章:1、Motorola Symbol MC3090 Windows Mobile 6 开发问题  2、Motorola Symbol MC3190 无线网络设置的一个问题

  之前为工业条码应用在VS2005中做的小程序只能跑在MC3090扫描枪上,最近由于Motorola Symobl MC3090已经停产,所以只能升级到MC3190。

  MC3090用的是WinCE5,而MC3190用的是WinCE6,在网上搜索后才知道,扫描枪的SDK也升级了,由之前的SMDK升级到了EMDK(比如这篇文章: http://hi.baidu.com/chaoking320/blog/item/de1c82b249abd149082302f8.html )。有些博文里说得更复杂:还需要下载一个WinCE6的SDK,以及更新版本的.Net Compact Framework,好在这次升级并没有用这种复杂的方法。

  这次升级过程主要遇到以下问题:

  1、由于老版本的小程序用的是Symbol的Barcode组件(即用到条码扫描的地方都放了一个Barcode组件),而EMDK里已经没有组件了,只有类可以使用,所以只能将以前的代码全部改成不用Barcode组件。

  需要注意的是,不用Barcode组件的WinCE5代码,到WinCE6编译时,可能需要重新指定所引用的Symbol.dll及Symbol.barcode.dll,否则不能正确运行。

  2、升级中发现WinCE5和WinCE6在程序行为上有了一些细微的差别,我发现了两点不同:

   a).在WinCE5下当焦点在Button上时按回车键,是不会触发Button的Click事件的,而到了WinCE6下就变成先触发Button的Key事件,跟着触发Click事件。因此,之前WinCE下为了在按回车键时也触发事件所写的代码,到WinCE6下就会变成触发了两次事件,也就是说WinCE6下其实已经不用在KeyPress事件里处理回车键按下的动作了。为了两个版本都能正确运行,就需要判断OS版本,好在C#里已经有比较方便的方法可以做到:

private bool OSIsLessThanWinCE6()
{
  return System.Environment.OSVersion.Version.Major < 6 && System.Environment.OSVersion.Platform == PlatformID.WinCE;
}

   b).WinCE5下可以在Form的OnLoad事件里调用Application.Exit()来直接退出程序,但到了WinCE6,可能就会报出无法拦截的错误,并且进而导致整个WinCE系统死掉,连热启动都不行(顺便说一句,MC3090可以在按住7、9键不放,同时按右下角的红色圆钮来热启动,但MC3190则无法使用这个快捷键来热启动)!结果只能冷启动,真搞不懂为什么?试了不少方法,都没有解决,后来换成Close()了,总算避开了这个问题。如果有谁知道为什么,请告诉我一下。

  3、WinCE5做CAB完整安装包时,需要将.Net Compact Framework打包进去,并且可能需要写个DLL来安装它。到了WinCE6下就不用这么麻烦了,因为WinCE6本身带了.Net,所以只需要将程序自己打包就可以了。

  4、由于没装WinCE6的SDK,所以在安装了新的EMDK之后,程序的目标平台仍然是WinCE5,这导致无法在VS里直接调试,不过编译后运行没有问题。

  5、MC3190可能已安装了DataWedge,这个软件的作用是模拟有线扫描枪那种带回车的扫描方式,如果用Barcode SDK(即调用DLL)来做扫描应用,那就应该将DataWedge关掉,否则可能会干扰扫描应用的正常运行,尤其是程序使用了键盘处理及扫描触发事件,当DataWedge打开时,可能会频繁地触发键盘回车事件,从而导致混乱。


  附:EMDK for .NET v2.5

    EMDK网址


  

  评论这张
 
阅读(12744)| 评论(91)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018