In a VB6 ActiveX exe project, is there any way to preserve the GUID for the events dispinterface if and when new events are added?
Obviously changing existing events breaks compatibility. Adding a new one doesn't cause the VB6 IDE to issue a warning. This doesn't really surprise me, though, as it also doesn't warn when you add new methods but at least the existing methods retain their GUIDs.
With events, there seems to be no way to retain backwards compatibility for existing ones if new ones are added later.
This doesn't seem to be an issue for VB6 applications integrating via COM; I assume the VB runtime does something clever to pick up on the events via the registry without needing to know the GUID up-front.
Where the other app is .Net (specifically C#) and I have to declare the interface by hand in order to implement the event sinks, I want the GUID to remain constant to avoid the need for re-coding the i/f whenever the VB6 app is extended. I may neither know nor care about the newly-implemented events in the VB6 app - I just want to be able to continue to use the pre-existing ones without needing to change the .Net source code.
Is there some VB6 trick that I'm missing out on that would enable me to do this?