【发布时间】:2010-12-08 09:26:47
【问题描述】:
在 VB6 ActiveX exe 项目中,是否有任何方法可以在添加新事件时为事件调度接口保留 GUID?
显然更改现有事件会破坏兼容性。添加新的不会导致 VB6 IDE 发出警告。不过,这并不让我感到惊讶,因为它也不会在您添加新方法时发出警告,但至少现有方法会保留其 GUID。
对于事件,如果以后添加新事件,似乎无法保持现有事件的向后兼容性。
对于通过 COM 集成的 VB6 应用程序来说,这似乎不是问题;我假设 VB 运行时做了一些聪明的事情来通过注册表获取事件,而无需预先知道 GUID。
另一个应用程序是 .Net(特别是 C#),我必须手动声明接口以实现事件接收器,我希望 GUID 保持不变以避免重新编码 i/f每当扩展 VB6 应用程序时。我可能既不知道也不关心 VB6 应用程序中新实现的事件 - 我只是希望能够继续使用预先存在的事件而不需要更改 .Net 源代码。
是否有一些我错过的 VB6 技巧可以让我做到这一点?
【问题讨论】:
标签: com vb6 events binary-compatibility