2012-07-20 112 views
2

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

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

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

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

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

感谢

回答

3

发布了“二进制兼容性”组件允许这(与一些注意事项涉及你可以放心地改变)通过检查ActiveX控件的现有版本,然后标识从类型重新使用在编译时新版本库。

请参阅此处以获取解释:http://wynport.wynsys.net/Visual_Basic_Binary_Compatibility.htm其中包含您可以进行哪些增量更改的列表。

+0

感谢您的宝贵答复。使用“二进制兼容性”适用于我。 – 2012-07-21 07:32:04

+0

这些“几个警告”与打破COM合同有关。在一个接口中,您不能更改方法名称,添加或删除方法签名中的参数,或更改参数或返回类型。为了完成这些任务,您必须为组件添加一个新界面。虽然您可以将新方法添加到界面的底部并避开它,但这不是一个好习惯。 – BobRodes 2014-05-20 22:02:47

3

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

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

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

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

感谢您的回答 – 2012-07-21 07:31:36