WAP之家:为您提供最全最新的WAP技术,CP.SP.3G等行业资讯。 WAP之家交流论坛全新开放 点击进入>>
WAP资讯 | 3G动态 | SP动态 | 运营商动态 | 内容商动态 | 制造商动态 | 论坛讨论>> 每次自动访问
WAP技术 | WAP源码 | 手机编程 | 手机源码 | 无线技术 | J2ME技术 | 手机软件 添加到收藏夹
IVR技术 | SP资料 | SMS MMS技术 | 商业方案 | IVR下载 | 书籍教程 | 工具软件 语言:繁體中文

WAP之家技术文章手机编程Symbian程序开发基于 Windows Mobile 2003 的 Pocket PC 为开发人员提供的新功能

基于 Windows Mobile 2003 的 Pocket PC 为开发人员提供的新功能
作者:Microsoft  来源:Microsoft  发布时间:2005-12-21 20:32:38
s CE 进程)来连接到进程。在活动进程列表中进行选择,提供 PC 中可执行程序的路径,然后调试程序就会启动并连接到选定的进程。另一个很特别的功能是实时 (JIT) 调试挂钩,它使您可以诊断未处理的异常而不是终止应用程序。如果设置了断点,就可以终止多线程应用程序中的所有线程。

使用 eMbedded Visual C++ 4.0 时,有一个称为远程调用分析器 (Remote Call Profilter) 的新工具。您可以使用该工具以多种方法跟踪正在执行的应用程序中的调用。值得一提的还有远程性能监视器 (Remote Performance Monitor),它允许开发人员实时监视多个预定义的规格(类似于 Microsoft Windows XP 性能监视器)。

其他功能还有支持内部函数(编译为内联代码而不是函数调用的函数)、ATL 进程外项目向导(用于创建 COM 进程外服务器)和标准模板库(Standard Template Library,缩写为 STL,支持访问最常用算法和数据结构的子集)。

有关升级到 eVC 4.0 和 Windows CE .NET 的详细信息,请参阅白皮书 eMbedded Visual C++ 4.0 和 Windows CE .NET(英文)。

为 eMbedded Visual Basic 开发人员提供的改变

Microsoft 已于 2001 年秋季宣布,将不再为各种设备的新 .NET 平台和工具继续发展 eMbedded Visual Basic。因此,Pocket PC 2003 SDK 不支持 eMbedded Visual Basic 开发,Pocket PC 2003 设备的 ROM 中也不包括 eMbedded Visual Basic 和 ADOCE 运行库。但是,eMbedded Visual Basic 和 ADOCE 运行库可在 Internet 上的以下位置下载:Pocket PC -Downloads - eMbedded Visual Basic(英文),并可以安装到 Pocket PC 2003 设备的 RAM 中。也就是说现有的 eMbedded Visual Basic 应用程序仍然可以在 Pocket PC 2003 设备上运行,因此开发人员仍然可以将 eMbedded Visual Basic 和 Pocket PC 2002 SDK 一起用于 Pocket PC 2003 设备。

eMbedded Visual Basic 开发人员如果希望继续开发,可以改用 Visual Basic .NET 并利用新工具的各种功能。从语言的角度来讲,最大的改变是:Visual Basic .NET 是面向对象的新型语言,其代码是使用包括常用方法、属性和事件的公共 .NET Compact Framework 类库(如用于 Windows 表单的 System.Windows.Forms 和用于管理数据库的 System.Data)来构建的。对常见任务(如严格的类型检查、使用类、调用 XML Web Service 和实现结构化异常处理)的内部支持大大改善了 eMbedded Visual Basic 开发人员以前执行这些任务时效率低下的状况。

对于将 eMbedded Visual Basic 代码转换为 Visual Basic .NET 代码,没有向导或自动过程。必须手动移植代码,期间需要仔细检查和修改:

  • 语言语法 - eMbedded Visual Basic 是一种 VB 脚本语言,因此根据不同的代码类型,语法差异可能很大。
  • 公共代码库的实现 - 需要移植现有的 eMbedded Visual Basic 公共代码库。由于现在支持使用类,因此代码库的实现和使用可能会不同。另外,由于 .NET Compact Framework 是 .NET Framework 的子集,因此对于 Pocket PC 的开发,现在可以利用部分现有的 Visual Basic .NET 类库。
  • 应用程序导航和控制流 - 窗体管理和应用程序导航是通过 System.Windows.Forms 中的类型来处理的,与从 eMbedded Visual Basic 来实现不同。
  • 数据库 - 数据访问是通过 ADO.NET 子集来处理的。Microsoft 为 Microsoft SQL Server 2000 Windows CE Edition 2.0 (SQL Server CE 2.0) 提供了一个托管的数据提供程序。.NET Compact Framework 不包括用于访问本地数据存储(有时称为 CEDB 或 Pocket Access)的托管类型,这种本地数据存储在 eMbedded Visual Basic 开发人员中被广泛使用。
  • XML - XML 的管理和操作得到内置支持。
  • XML Web Service - eMbedded Visual Basic 不提供调用远程组件的内置支持。必须使用第三方支持来调用和使用远程组件。支持 XML Web Service 是 .NET Compact Framework 的核心类型之一,被认为是整个 .NET Framework 中的主要集成机制。由于在大多数开发项目中,系统集成的相关工作量通常很大,因此很可能会重写系统集成代码。
  • 异常处理 - eMbedded Visual Basic 中的错误处理由四个字“On Error Resume Next”和无限循环的“If Err.Number <> 0 Then”语句组成。使用 Try . . . Catch . . . Finally 块的结构化、有效异常处理将改善代码的稳定性和容错功能。

在下面的示例中,我们对 eMbedded Visual Basic 和 Visual Basic .NET 中的异常处理进行了对比。示例代码先打开一个文本文件,然后逐行读取直到文件结尾。这是大多数 Basic 程序员所熟悉的概念。

您需要添加 If Err.Number <>0 语句以捕捉并处理 eMbedded Visual Basic 中的异常,见以下代码:

' 打开
' 变量
Dim sLine As String
Dim file As FILECTL.file
Set file = CreateObject("FILECTL.file")

Screen.MousePointer = 11

' 由“resuming next”处理错误
On Error Resume Next

' 打开应用程序设置
file.Open "\appdata.txt", fsModeInput

' 检查是否发生错误
If Err.Number <> 0 Then
    MsgBox "File could not be opened!", vbCritical, "Error"
    Exit Sub
End If

' 在文件中循环
Do While Not file.EOF
    ' 逐行读取
    sLine = file.LineInputString
    ' 检查是否发生错误
    If Err.Number <> 0 Then
        MsgBox "Data could not be retrieved!", vbCritical, "Error"
        Exit Sub
    End If
Loop

Screen.MousePointer = 1

' 关闭文件
file.Close

代码以 On Error Resume Next 语句开头,意味着即使发生错误,代码仍继续执行下一行。Err-object 包含已发生的所有可能错误的信息。通过在每行代码后检查 Err-object 的 Err.Number 属性是否为默认值 0,开发人员可以插入代码以处理错误。也就是说开发人员需要猜测在整个代码中可能导致错误的行。让我们来看一下 Visual Basic .NET 代码是如何处理异常的,尽管它在异常处理方面已有很大改进:

' 打开数据文件

' 变量
Dim sLine As String
Dim file As StreamReader

Cursor.Current = Cursors.WaitCursor

' 由 Try-Catch-Finally 处理错误
Try
    file = New System.IO.StreamReader

上一页  [1] [2] [3] [4] [5]  下一页

[] [返回上一页] [打 印]
文章评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码