适用于 Visual Basic 6.0 用户的组件创作
更新:2007 年 11 月
虽然 Visual Basic 6.0 和 Visual Basic 2008 都提供创建组件的功能,但二者在组件创作方面有些重要差异。
概念差异
在 Visual Basic 6.0 中,组件创作全部是关于创建 COM 组件的,即可在 COM 应用程序中使用的 ActiveX 控件、ActiveX DLL 和 ActiveX EXE。
在 Visual Basic 2008 中,组件以 .NET Framework 为基础;您创建的组件可在使用 .NET Framework 生成的应用程序中使用。使用 Visual Basic 2008 生成的组件以继承为基础,所有组件都派生自 Component 或 Control 基类。有关更多信息,请参见 组件类。
多线程组件
Visual Basic 6.0 提供两种线程处理模型,即组件可以是单线程的或者是单元线程的。
Visual Basic 2008 支持真正的多线程组件。有关更多信息,请参见 组件中的多线程处理。
组件实例化
在 Visual Basic 6.0 中,类的 Instancing 属性控制访问级别和组件的创建方式。
在 Visual Basic 2008 中,可通过在组件类的构造函数中设置访问修饰符和访问级别来控制实例化。有关更多信息,请参见 Visual Basic 中组件实例化的更改。
二进制兼容性和版本
组件的二进制兼容性在 Visual Basic 6.0 中很重要,这种兼容性可避免版本冲突;它是由组件项目的 Version Compatibility 属性控制的。
在 Visual Basic 2008 中,版本控制功能已内置到组件的程序集中;您不再需要担心如何设置二进制兼容性。有关更多信息,请参见 使用组件编程。
ActiveX 控件
在 Visual Basic 6.0 中,可以创建可用于基于 Windows 应用程序的 ActiveX 控件(又称为“用户控件”)。
在 Visual Basic 2008 中,可以为 Windows 窗体创建用户控件,也可以从现有控件继承以添加功能。有关更多信息,请参见 设计时开发 Windows 窗体控件。
消息传递
在 Visual Basic 6.0 中,可以创建使用 Microsoft 消息队列 (MSMQ) 的组件在应用程序之间传递信息。
在 Visual Basic 2008 中,消息传递功能被内置到 .NET Framework 中。有关更多信息,请参见 使用消息组件。
事务
在 Visual Basic 6.0 中,可以创建 MTS 组件,这些组件与 Microsoft Transaction Server (MTS) 一起使用来参与事务。
对于 Visual Basic 2008,.NET Framework 通过向项目添加事务性组件或向现有类添加 Transaction 属性来处理事务。