ActiveX控件版本控制VB6.0



我使用VB6.0创建了OCX。这个OCX中有自定义的activex控件。自定义控件在我的应用程序中使用。我已经在一个系统中安装了我的应用程序,我已经在其中注册了mu第一个应用程序。

我的第二个应用程序需要OCX中提供的自定义控件,在以前的控件和新的自定义控件中进行了一些增强。

为此,我创建了新的OCX,添加了以前的控件和新控件。在这种情况下,如果我将来需要不同的控件,我需要创建更多的OCX文件。这很难维持不同的OCX。

如果我在现有的OCX中添加新功能并在系统中注册,那么现有的应用程序将无法找到以前版本的activex控件。

如何在不影响已经使用这些控件的应用程序的情况下,在现有ocx中添加新功能?

感谢

通过检查activex控件的现有版本,然后在编译时在新版本中重新使用类型库中的ID,发布具有"二进制兼容性"的组件可以做到这一点(需要注意的是,您可以安全地更改哪些内容)。

有关说明,请参见此处:http://wynport.wynsys.net/Visual_Basic_Binary_Compatibility.htm其中包括您可以进行的增量更改的列表。

编译项目时,Visual Basic仅在必要时创建新的类和接口ID。它保留了以前版本的类和接口ID,以便使用以前版本编译的程序能够继续工作。如果您所做的更改将导致版本不兼容,Visual Basic将向您发出警告。如果您想保持与旧版本的ActiveX组件的兼容性。

参考编号:http://support.microsoft.com/kb/161137

为了使您的控制二进制兼容,

  • 打开项目的属性对话框
  • 选择"零部件"选项卡
  • 选择二进制兼容性单选按钮
  • 浏览已编译的现有控件
  • 单击"确定"按钮并重新编译您的项目

最新更新