摘要:
修改并继续执行,恢复异常 在某些情况下,当在Visual Studio 调试器进入代码后,用户可以修改变量的值,用户甚至可以更改逻辑声明。这就是Edit and Continue功能。 Edit and continue将会在调试出现错误时起作用。没有必要停止并重新启动测试,并为避免异常进行更多的步骤,更加合理的做法是,在异常发生之前,可以立即“放松”对异常执行,然后改变违例的变量或者语句,然... 阅读全文
摘要:
设定条件断点、运行到光标位置、可视化变量 条件断点指定了一个条件,这可以使得调试器暂停调试。条件可以是由任何的代码表达式指定,并且这些条件表达式可以设置为true或者false。 用户需要在最常调用的方法里设置一个条件断点,这样当变量获得某个特定值时,就可根据这个值来检测程序的运行状态。 运行到光标位置就类似于设定一次性的断点。当执行被暂挂时,可以在源程序中选中一行,然后恢复执行直到运行到选定... 阅读全文
摘要:
设置断点、进入方法、检查数据 最常用的开启测试对话框的方式是在Debug菜单中选择Start Debugging(快捷键:F5)。当执行开始之后,测试就会一直进行运行,直到出现断点、手动暂停、发生异常或者应用程序结束。 当测试暂停时,可以将鼠标移动到变量上面,通过数据提示框查看当前变量的值,可以打开Locals 和 Autos窗口查看当前的活跃变量和当前变量的值。为监视窗口添加一个或者更多的变... 阅读全文
摘要:
进入方法,单步调试方法,离开方法 与进入被父方法调用的子方法不同,单步调试方法执行其所含子方法,然后在调用方法中将会挂起执行直到父方法恢复。如果用户熟悉方法的工作原理时,可以越过这一个方法,但是要确保这个越过的方法对你现在研究的问题没有影响。 如果一行代码中不含有方法调用,在测试中就可以像进入这一行的方式一样调试这一行。 离开子方法继续执行本方法,然后挂起执行,直到这个方法返回它调用的方法。... 阅读全文
摘要:
11.4测试导航 这一部分主要叙述如何使用Visual Studio测试会话框测试导航,并且展示如何在会话框中查看并修改程序状态。 这一部分主要面向初次接触Visual Studio测试的开发人员,或者是一些想要学习更多的Visual Studio导航测试的开发人员。本部分并不讲解调试的艺术,在下面的例子中使用的方法只是展示了一些调试的步骤,但是这些方法并一定采用最佳的应用程序惯例或者函数设计... 阅读全文
摘要:
4.使用navigate函数 当此时运行应用程序时,会显示homePage.html文件;但是无法使用户导航访问page2.html。如果想让用户访问page2.html,一个简单的方法就是添加超链接。如下面代码所示: <!-- homePage.html --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>... 阅读全文
摘要:
11.3.3 导航模型 几乎每个网站都会提供一个导航方式,但是通常使用超链接的形式,当用户单击时,会浏览不同的页面。每个页面都有自己的一套Javascript函数和数据,一套新的要显示的HTML文件,样式信息或者其他信息。这种导航成为多页面导航(multi-page navigation)。 另一个导航模型就是单页面导航,为应用程序使用单一页面,并且为页面加载必要的数据。仍然需要将应用程序划分... 阅读全文
摘要:
缓存页面 当运行最后一个例子时,可能会注意到如果点击Page2 的Back按钮,Page1的TextBox控件的值是空的。假设用户浏览过Page2 的结果之后,想返回页面并改变之前页面的值,如果Page1有很多字段要填写,当应用程序返回到Page1 界面时,用户不喜欢看到所有的字段都是空的。可以指定一个页面通过使用NavigationCacheMode属性作为缓存页面,在BasicPage1页面... 阅读全文
摘要:
Frame和Page类 在为应用程序添加更多的函数之前,需要了解添加过的页面如何为应用程序提供导航支持。Frame类主要用来相应导航,或者执行一些类似Navigate, GoBack, 和 GoForward的方法。使用Navigate方法使内容显示在框架中。在先前的例子中App.OnLaunched方法创建一个Frame并将BasicPage1传递给Navigate方法。然后这个方法设定应用程... 阅读全文
摘要:
11.1 页面间的导航 可以为Metro风格的应用程序创建多个页面,并且可以支持用户在多个页面中进行导航,类似于在一个简单网站上进行的导航。Visual studio 11拥有页面模板,可以提供基本的导航支持。 注意,当在Metro风格的应用程序中说到导航时,我们指的是在一个应用程序的不同页面的导航,而不是在不同的应用程序之间的导航。 11.1.1 创建导航应用程序 1)创建一个新的Met... 阅读全文
摘要:
15.2.2 应用挂起 首先,注册挂起事件处理函数,这表明应用在系统挂起它之前应将其数据保存,代码如下。 using System; using Windows.ApplicationModel; using Windows.ApplicationModel.Activation; using Windows.UI.Xaml; partial class MainPage { pu... 阅读全文
摘要:
15.2 应用状态处理 下面将介绍Metro风格的应用中,激活,挂起,恢复的具体方法,以及响应应用的生命周期事件。 15.2.1 应用激活 首先,重写OnLaunched处理函数。当应用被激活时,处于某些原因会发送Activated事件。Windows.UI.Xaml.Application类定义了一些方法,可以用来重写处理函数,处理不同激活类型的情况,有几种激活类型带有具体的可重写方法,对... 阅读全文
摘要:
15.1.3 恢复状态 当应用恢复时,其会从挂起前的状态起继续运行。具体来说就是,在应用处于挂起状态时,应用程序的数据和状态保存在内存中,当应用恢复时,应用的各方面都和挂起时的状态一样,不需要在收到恢复事件的时候通过代码还原任何数据。 在遇到用户需要应用处在链接状态,并需要显示最新信息的情况中,有可能应用处于挂起状态很长时间才恢复,挂起期间数据或网络链接会过时,并需要在应用恢复时刷新内容。当应... 阅读全文
摘要:
掌握了Windows 8有关的生命周期模型,能够帮助用户轻松管理应用程序的运行,也可以使开发人员制作出具有极高用户体验的应用程序,即便应用在后台进行,也不会影响到设备的性能和电池情况。正确使用生命周期事件,。即便应用不再屏幕上运行显示,也可以让用户感觉到应用处在活跃状态。 一般情况下,在使用诸如笔记本,平板,或手机时,如果我们暂不需要使用某个程序,同时希望让其自身仍保持运行状态,从而使得应用间可... 阅读全文
摘要:
6)计算最佳路线。执行线路计算的核心算法定义在AntSystem.h和AntSystem.cpp中,这些文件定义了AntSystem命名空间,这个命名空间不包含WinRT上的依附元素,所以并不使用C++/CX。AntSystem.h定义了LatLong,Node和Edge结构体,同时也定义了OptimizeRoute函数。 LatLong结构体表示地图上一个点的经纬度,代码如下。 stru... 阅读全文
摘要:
TripOptimizerImpl::OptimizeTripAsync方法调用TripOptimizer::OptimizeTrip方法作为异步操作的一部分,TripOptimizer::OptimizeTrip方法调用TripOptimizer::CreateGraph创建出行路线的图像,每个位置由一个节点表示,并且每个节点对由棱边相连,一个节点包含了一个位置的名称,经纬度等信息,而棱边包含两点间的距离,相关代码如下。//创建表示出游地形的图像void TripOptimizerImpl::CreateGraph(const vector<wstring>& waypo 阅读全文
摘要:
3)创建TripOptimizer和TripOptimizerImpl类。C++组件包含一个WinRT类“TripOptimizerComponent::TripOptimizer”,这个类衔接其他WinRT组件,“TripOptimizer”类只定义了与其他WinRT组件通信的方法,而具体实现细节由TripOptimizerImpl类来处理,选择这个模式是来更好的封装公共接口,并将其从具体实现细节中分离,代码如下。//定义TripOptimizer类.这个类衔接应用和具体实现细节public ref class TripOptimizer sealed{public:TripOptimize 阅读全文
摘要:
local context中的“receiveMessage”函数解析消息,并将函数的调用,路由到适当的消息处理函数,这样反序列化的JavaScript对象的“invoke”字段值是“load”,所以local context调用“optimizerLoad”函数,对default.html 页面的部分代码如下。 function receiveMessage(event) { var dat... 阅读全文
摘要:
下面是对使用JavaScript的Bing Maps Trip Optimizer示例的介绍,讲述应用的JavaScript部分组织形式,本地的上下文和网络上下文之间的通信。 WinRT需要访问网络的代码,下面是一些需要访问网络的活动示例。 q 加载一个外部JavaScript文件,比如Bing Maps的AJAX控件。 q 加载外部CSS。 q 使用XmlHttpRequest。 Bi... 阅读全文
摘要:
在编写《Windows 8 应用开发权威指南》这本图书的时候,查阅了很多的资料,最后有很多都没有上,最后这本图书还是上了1000页,下面是当时翻译和学习的部分笔记。这节介绍使用JavaScript和VC++创建一个Windows Store风格的应用,我们使用Bing Map有关的,寻找最佳出游路径的应用(即“Bing Maps Trip Optimizer”应用)。使用JavaScript的Metro风格的应用,与网站不同的是,其不是由网络服务器,一页一页地进行部署,而是由用户安装在机器上。JavaScript的Metro风格应用可以直接访问底层平台,同其他应用分享信息。Bing Maps 阅读全文