ActiveX控件版本控制VB 6.0

时间:2012-07-20 11:13:18

标签: vb6 activex versioning

我使用VB 6.0创建了OCX。而且这个OCX中有自定义的activex控件。自定义控件在我的应用程序中使用。我已将我的应用程序安装在我已注册mu第一个应用程序的系统中。

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

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

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

如何在已经存在的ocx中添加新功能而不影响已经使用这些控件的应用程序?

由于

2 个答案:

答案 0 :(得分:3)

使用“二进制兼容性”发布组件,通过检查activex控件的现有版本,然后重新使用类型库中的ID,可以实现这一点(有几个警告涉及您可以安全地更改)在编译时的新版本中。

请点击此处查看说明:http://wynport.wynsys.net/Visual_Basic_Binary_Compatibility.htm,其中包含您可以进行哪些增量更改的列表。

答案 1 :(得分:3)

编译项目时,Visual Basic仅在必要时创建新的类和接口ID。它保留了先前版本的类和接口ID,以便使用早期版本编译的程序将继续工作。如果您进行的更改将导致版本不兼容,Visual Basic将警告您。如果要保持与较早发布的ActiveX组件版本的兼容性。

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

要使控制二进制兼容,

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