升级前的注意事项

更新:2007 年 11 月

Visual Basic 2008 与 Visual Basic 的以前版本相比体现出很大的改变。因为它为了利用 .NET Framework 而从头进行了设计,所以在许多方面与以前版本不兼容。

说明:

Visual Basic 2008 和 Visual Basic 6.0 可以安装在同一台计算机上并且可以同时运行。用 Visual Basic 2008 和 Visual Basic 6.0 编写的应用程序可以在同一台计算机上安装并执行。用 Visual Basic 2008 编写的组件可以与用 Visual Basic 的早期版本及其他语言编写的 COM 组件进行互操作。

  • 多数情况下,您都需要将 Visual Basic 6.0 应用程序升级到 Visual Basic 2008,以便能在继续开发时利用 .NET Framework 的优点。但是,可能存在想要继续在 Visual Basic 6.0 中开发而不进行升级的情况。决定是否对应用程序进行升级的因素包括是否存在 Visual Basic 2008 中不支持的功能,以及由于不兼容和结构上的考虑而需要完成的改编量。

不支持的功能

Visual Basic 2008 中不再支持 Visual Basic 6.0 中的以下功能。有关更多信息,请参见 Visual Basic 6.0 应用程序的升级准备工作

  • OLE 容器控件   在 Visual Basic 2008 中没有等效项。依赖此控件的应用程序应仍然使用 Visual Basic 6.0。

  • 动态数据交换 (DDE)   不再支持 DDE 方法。依赖 DDE 的应用程序应改为使用其他应用程序间通信的方法,或仍然使用 Visual Basic 6.0。

  • DAO 或 RDO 数据绑定   在 Visual Basic 2008 中不支持 DAO 或 RDO 数据源的数据绑定;Data 控件和 RemoteData 控件没有等效项。只能通过代码访问 DAO 和 RDO。依赖 DAO 或 RDO 数据绑定的应用程序应更新为使用 ADO,或仍然使用 Visual Basic 6.0。

  • Visual Basic 5.0 版控件   Visual Basic 6.0 中包含了 Visual Basic 5.0 版的 Windows 公共控件和数据绑定网格控件。这些控件与 Visual Basic 2008 不兼容。依赖于这些控件的应用程序应更新以使用 6.0 版的控件,或仍然使用 Visual Basic 6.0。

  • DHTML 应用程序   在 Visual Basic 2008 中没有等效项。但 DHTML 应用程序可以与 Visual Basic 2008 技术交互操作。

  • ActiveX 文档   在 Visual Basic 2008 中没有等效项。但 DHTML 应用程序可以与 Visual Basic 2008 技术交互操作。应将 ActiveX 文档重写为用户控件,或仍然使用 Visual Basic 6.0。

  • 属性页   在 Visual Basic 2008 中没有等效项。如果应用程序在很大程度上依赖属性页,则它仍应使用 Visual Basic 6.0。

确定需要的改编量

由于 Visual Basic 6.0 与 Visual Basic 2008 之间的诸多差异,大多数应用程序都需要进行一些改编,以处理无法直接映射的项或不兼容的项。需要的改编量取决于许多因素,包括应用程序的类型、功能和使用的语言构造。

确定需要的改编量的最简单方法是运行“升级向导”并查看升级报告中的问题列表。应用程序升级后,会创建新的副本;原始应用程序则保持不变。如果查看报告后决定不升级,则只需删除新项目并继续用 Visual Basic 6.0 开发。

以下是可能影响升级决策的其他注意事项。

  • 单层数据库应用程序   因为不支持到 DAO 的数据绑定,所以对于一些使用了直接绑定到本地数据库(如用 Microsoft Access 创建的数据库)的控件的简单应用程序,可能需要进行大量的改编。

  • Visual Basic 外接程序   因为 Visual Basic 2008 使用 Visual Studio 集成开发环境,所以用于扩展性的对象模型与 Visual Basic 6.0 的对象模型之间有显著的区别。需要对外接程序进行相当数量的改编。

  • 游戏   因为 Visual Basic 2008 具有不同的性能特点,所以依赖 Visual Basic 6.0 的特定性能特点的应用程序(如街机游戏)将需要进行改编。

  • 图形   不支持窗体的图形方法以及形状和线条控件。在窗体上绘制时大量使用这些功能的应用程序将需要相当多的改编。

  • 拖放功能   用于拖放功能的模型改变很大;需要重写所有执行拖放操作的代码。

  • 变量   应用程序升级后,Variant 数据类型转换为 Object。如果应用程序非常依赖变量,该转换可能会导致应用程序的行为发生细微的改变。例如,在 Visual Basic 6.0 中,表达式 IsObject(Variant) 计算为 false;在 Visual Basic 2008 中,该表达式更改为 IsObject(Object),并计算为 true。

  • Windows API   由于语言的更改,许多对 Windows API 的调用都需要进行修改或用 .NET Framework 函数进行替换。

请参见

概念

Visual Basic 6.0 应用程序的升级准备工作

升级的必要性

其他资源

升级用 Visual Basic 早期版本创建的应用程序