在VB6 ActiveX exe項目中,是否有任何方法可以在添加新事件時保留事件調度接口的GUID?VB6二進制兼容性 - 添加新事件
顯然,改變現有事件會打破兼容性。添加一個新的不會導致VB6 IDE發出警告。但是,這並不令我感到驚訝,因爲它在添加新方法時也不會警告,但至少現有方法保留其GUID。
有了事件,如果以後添加新事件,似乎沒有辦法保留現有事務的向後兼容性。
對於通過COM集成的VB6應用程序來說,這似乎不成問題;我假設VB運行時做了一些聰明的事情,通過註冊表來獲取事件,而不需要事先知道GUID。
如果其他應用程序是.Net(特別是C#),並且我必須手動聲明接口以實現事件接收器,我希望GUID保持不變以避免重新編碼i/f每當VB6應用程序擴展。我可能既不知道也不關心VB6應用程序中新實現的事件 - 我只是希望能夠繼續使用預先存在的事件,而無需更改.Net源代碼。
是否有一些VB6技巧,我錯過了這將使我能做到這一點?
可能,但我真正追求的是修改VB6應用程序的方式,這並不意味着我們的.Net應用程序(以及任何第三方應用程序也與傳統的VB6應用程序集成在一起)幾個)需要感動,除非我們/他們想要實施新的事件。 –
檢查VB6 Service Pack 7的狀態 - 不會發生。 –