积极答复者
求助:Windows Mobile 6 SDK自带GPS C#源码所生成的CAB文件安装在PPC设备(Windows Mobile 6.5)后运行时出错

问题
-
各位高手,
本人在用Windows Mobile 6 SDK自带的GPS C#源码生成CAB文件后安装在智能手机(Windows Mibile 6.5 Professional)上, 当打开应用点击GPS -> Start GPS时出错,详细信息如下:
GpsSample.exe
NullReferenceException位于GpsTest.Form1.UpdateData(Object sender, EventArgs args)
位于System.Windows.Forms.Control.TASK.Invoke()
位于System.Windows.Forms.Control._InvokeAll()
位于System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 IParam)
位于System.Windows.Forms.ContainerControl.WnProc(WM wm, Int32 wParam, Int32 IParam)
位于System.Windows.Forms.Form.WnProc(WM wm, Int32 wParam, Int32 IParam)
位于System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 IParam)
位于Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
位于System.Windows.Forms.Application.Run(Form fm)
位于GpsTest.Form1.Main()备注:本人智能手机上应该已经安装了.Net CF, 因为当我尝试通过MS ActiveSync安装.Net CF 3.5时,系统提示已经安装了更高版本的.Net CF;另外我是使用VS 2008生成CAB安装文件,其中包含了两个文件(GpsSample.exe 和 Microsoft.WindowsMobile.Samples.Location.dll, 在新建的智能设备CAB项目中通过add -> Project Output ...方式被自动添加进来),当在智能手机上安装后并尝试使用时便得到如上所述的错误信息。
其他第三方的导航软件在我的智能手机上都运行正常。
期待着各位高手的解答!
非常感谢。
2011年4月5日 9:23
答案
-
你好,
不知道这个是不是和设备有关系,我用的dopod T8588,测试这个程序的时候,没有问题出现。
而在英文论坛上的一个帖子,有人用了Samsung i900 (omnia),就出现了楼主所说的问题:
不过貌似也没有最终给出解决的方法,你去看看那个帖子吧。
不知道这个是不是OEM定制的原因,如果是的话,那就只能请教OEM了。
施炯- 已建议为答案 Jesse Jiang 2011年4月12日 1:39
- 已标记为答案 Jesse Jiang 2011年5月11日 11:12
2011年4月10日 23:26
全部回复
-
施炯,您好!
用WM 6 SDK自带的FakeGPS + WM 6 Professional Emulator调试没有问题,但是直接使用智能手机进行调试时就会出现错误-“NullReferenceException was unhandled”,该错误提示停留在Invoke(updateDataHandler),那一段的代码如下:
protected void gps_LocationChanged(object sender, LocationChangedEventArgs args)
{
position = args.Position;// call the UpdateData method via the updateDataHandler so that we
// update the UI on the UI thread
Invoke(updateDataHandler);}
若是打包成CAB后在智能手机上安装就会出现上次提到的一堆错误信息,第三方的GPS软件在智能手机上都工作正常。
期待着高手的继续解答!
2011年4月10日 4:57 -
你好,
不知道这个是不是和设备有关系,我用的dopod T8588,测试这个程序的时候,没有问题出现。
而在英文论坛上的一个帖子,有人用了Samsung i900 (omnia),就出现了楼主所说的问题:
不过貌似也没有最终给出解决的方法,你去看看那个帖子吧。
不知道这个是不是OEM定制的原因,如果是的话,那就只能请教OEM了。
施炯- 已建议为答案 Jesse Jiang 2011年4月12日 1:39
- 已标记为答案 Jesse Jiang 2011年5月11日 11:12
2011年4月10日 23:26