我使用VB 6.0创建了OCX。而且这个OCX中有自定义的activex控件。自定义控件在我的应用程序中使用。我已将我的应用程序安装在我已注册mu第一个应用程序的系统中。
我的第二个应用程序需要我的OCX中提供的自定义控件,以前的控件和新的自定义控件中的一些增强功能。
为此,我创建了新的OCX,其中添加了先前的控件和新控件。在这种情况下,如果我需要不同的控件,我需要创建更多的OCX文件。这很难维持不同的OCX。
如果我在现有OCX中添加新功能并在系统中注册,则现有应用程序无法找到以前版本的activex控件。
如何在已经存在的ocx中添加新功能而不影响已经使用这些控件的应用程序?
由于
答案 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
要使控制二进制兼容,