本文介绍了Windows Mobile支持失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要用C ++开发用于托管Win Mobile 5/6的PDA的应用程序.我安装了VS 2005(确保包括对智能设备的支持)以及Windows Mobile 5.0 SDK.但是,当我完成安装时,我无法为智能设备创建新的C ++项目(项目创建失败").事实证明,项目对话框中的模板树在智能设备"处停止.对于C ++.但是,对于VB和VC#,它包括各种目标平台(PPC 2003,Smartphone 2003,Win CE 5.0,Win Mobile 5.0).我怀疑故障和空树之间存在联系.

我可以毫无问题地创建一个C#项目(这告诉我已经安装了智能设备支持).但是我真的需要用C ++创建该应用程序.

I can create a C# project without problem (which tells me that the smart device support has been installed).  But I really need to create the app in C++.

我的开发平台是带有SP2的XP Pro.

My development platform is XP Pro w/ SP2.

我执行了完全重新安装,结果相同.我在两次安装期间都禁用了防病毒软件.我真的想不出要尝试的其他方法,我希望在那里的人可以分享他们的经验.

I performed a complete reinstall with the same result.  I disabled the anti-virus software during both installs.  I can't really think of anything else to try, and I hope that someone out there might be able to share their experience.

推荐答案

基本事实是:

(1) 我在Win上安装了Visual Studio 2005 XP Pro(SP2)平台. 我需要为PDA设备开发移动应用程序(Windows Mobile 5/6).

(1)    I installed Visual Studio 2005 on a Win XP Pro (SP2) platform.  I need to develop a mobile (Windows Mobile 5/6) application for a PDA device.

(2) 当我尝试创建默认应用程序时对于任何智能设备而言,它都无法解释而没有真正的线索.

(2)    When I attempt to create a default application for any Smart Device, it inexplicably fails with no real clue.

在IE7中打开脚本调试后,我可以看到智能设备应用程序向导"中的脚本失败了. 具体地说,脚本调试器在下面标记的行上中断:

After turning on script debugging in IE7, I can see that the scripts in the Smart Device Application Wizard are failing.  Specifically, the script debugger breaks on the line marked below:

/********************** ****************************************************** *******

说明:在构造基于在项目或其他用户输入上,

 Description: When constructing a class name based on project or other user input,

警告用户(MessageBox)(如果已生成)类名是保留名,并且

    Warn user (MessageBox) if the generated class name is a reserved name, and

在名称中添加一位数字以避免保留的名称.

    add one digit to the name to avoid the reserved name.

例如:用户将项目命名为"Atl" -> C + Atl + Module是保留名称->

    Ex: User names the project "Atl" --> C+Atl+Module is a reserved name -->

警告MessageBox加上生成的名称是CAtl1Module.

        Warning MessageBox plus generated name is CAtl1Module.

str前缀:类名的第一部分(例如:项目名称-Atl).

 strPrefix: The first part of class name (Ex: project name - Atl).

strPostfix:类名的第二部分(例如:模块).

 strPostfix: The second part of class name (Ex: Module).

********************** ****************************************************** ******/

函数ConstructClassName(strPrefix,strPostfix)

{

var strCandidate;

            var strCandidate;

strCandidate ="C"; + strPrefix + strPostfix;

            strCandidate = "C" + strPrefix + strPostfix;

for(var i = 1; i< ; = 10; i ++)

            for(var i = 1; i<=10; i++)

{

[此行失败] var bValid =(窗口.external.dte.VCLanguageManager.ValidateIdentifier(strCandidate)&&

[FAILS ON THIS LINE]                     var bValid = (window.external.dte.VCLanguageManager.ValidateIdentifier(strCandidate) &&

!window.external.dte.VCLanguageManager .IsReservedName(strCandidate));

                                    !window.external.dte.VCLanguageManager.IsReservedName(strCandidate));

if(!bValid)

                        if(!bValid)

window.external.ReportError();

                                    window.external.ReportError();

else >

                        else

break; 字体>

                                    break;

strCandidate ="C"; + strPrefix + i.toString()+ strPostfix;

                        strCandidate = "C" + strPrefix + i.toString() + strPostfix;

} >

            }

返回strCandidate;

            return strCandidate;

}

/******************** ****************************************************** ******/

调用堆栈如下:

JScript .../SmartDeviceAppWizard/MFC/Application/html /1033/default.htm

JScript              …/SmartDeviceAppWizard/MFC/Application/html/1033/default.htm

InitDocument() "

    InitDocument()                     "

Getval() "

         Getval()                           "

ConstructClassName()…VC/VCWizards/1033/common.js

              ConstructClassName()                       …VC/VCWizards/1033/common.js

似乎在某种程度上找不到VCLanguageManager对象. 我不太熟悉VS的内在功能,但是有一些GUID可能不正确吗?

It seems that somehow the VCLanguageManager object is not found.  I’m rather unfamiliar with the innards of VS, but is there some GUID which could be incorrect?

我得到的其他证据包括:

(1) 此故障发生在两个不同的工作XP平台上. 两个都运行IE7.
(1)    This failure occurs on two different work XP platforms.  Both of them are running IE7.


这篇关于Windows Mobile支持失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 02:23