Take a look at the <GuidAttribute()> attribute flag. It should allow you to
specify the uuid for each interface, so that they do not change between
compiles. That's as close to binary compatibility as I've found, although
you (the programmer) are required to uphold the contract of no interface
changes - it's not done for you automatically.

However, now that I've said that, someone will probably show me as wrong...:)

At 13:15 5/31/2002 -0400, Patrick Burrows wrote:
>Also, it seems better to have all your classes implement an interface,
>and then use those interfaces for the TypeLibs.
>
>Question: Is the compiler at this point handling all the binary
>compatibility issues?
>
>If I have a DLL and it implements an interface like the code pasted
>below. It will generate the TypeLibrary just fine and I can use that
>from VB6 without any issues. It works great, in fact.
>
>If I then compile a second time (without making any changes in
>code--just two compiles in a row), the references from within my VB6 app
>are broken, and, indeed, the uuids are different.

You can read messages from the DOTNET archive, unsubscribe from DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to