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

  • 问题

  • 各位高手,

    本人在用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),就出现了楼主所说的问题:

    Using GPS at C#

    不过貌似也没有最终给出解决的方法,你去看看那个帖子吧。

    不知道这个是不是OEM定制的原因,如果是的话,那就只能请教OEM了。


    施炯
    2011年4月10日 23:26

全部回复

  • 你好,

    调试的时候有没有问题?


    施炯
    2011年4月5日 14:03
  • 施炯,您好!

    用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),就出现了楼主所说的问题:

    Using GPS at C#

    不过貌似也没有最终给出解决的方法,你去看看那个帖子吧。

    不知道这个是不是OEM定制的原因,如果是的话,那就只能请教OEM了。


    施炯
    2011年4月10日 23:26
  • 施炯,您好!

    有没有QQ号或其他IM账号,欲向您请教一下具体的解决方法.

    非常感谢!

    2011年4月12日 14:48