some time ago I prepared an idl file to define the interface for plugins of a VB6 application.
Reviewing code I found there is an interface which looks like this:
[
odl,
uuid(<some guid>),
version(1.0),
nonextensible, oleautomation
]
interface IPlugin : IUnknown {
HRESULT DoSomething();
}
This interface is used in some VB6 and C++ components (dlls) to expose the main plugin class, also the exe refers to the typelibrary to keep a reference of plugin classes.
What I would like to do now is to remove odl, version and nonextensible because not required, and then add the object attribute to correctly define a COM interface.
- Now that the entire system is in production, can I change attributes on the interface?
- Can I do it without compatibility issues?
Thank you