1

This is more or less an academia question to help me better understand this process... not so much a request to figure out how to get around binary compatibility so no need to explain why I shouldn't try this :)

Let's say I create and compile a dll in vb6 that has no public members. Actually, I think it might not allow you to compile without at least one, so let's say we create a single public method, but it's only there so that the dll will compile and we otherwise ignore it.

Now say I set the project compatibility to this dll, and I never, ever under any circumstances update this dll or change the compatibility to an updated version of the dll.

In this scenario, I am thinking that vb6 would never throw those breaking compatibility error messages, and would continue to use the same UUID for the dll on each compile even when you do actually break compatibility.

However, I am thinking that the values generated for the classes you create in that dll would change each time. And even though you wouldn't have compatibility issues for compiling that dll, you would still eventually run into compatibility issues for projects that reference this dll.

Does that sound about right?

skaffman
  • 398,947
  • 96
  • 818
  • 769
Brandon Moore
  • 8,590
  • 15
  • 65
  • 120
  • Questions involving _actual_, _practical_ programming problems are perfectly on topic here. Purely academic questions aren't a good fit for our Q&A format. – Tim Post Nov 22 '11 at 08:03
  • @TimPost Oh it definitely involves actual, practical programming problems and this is not a 'purely' academic question at all. I said it was 'more or less' an academic problem to prevent people from just saying "Oh, that's not a good idea. Don't do it." The message I'm getting over and over from people like you is that constructing my questions in a clear way that will elicit the best answer is not nearly as important as making sure you don't see the wrong buzzword like "academia". – Brandon Moore Nov 22 '11 at 20:43
  • @TimPost Thanks for taking the time to explain your reasoning though anyhow. – Brandon Moore Nov 22 '11 at 20:45

1 Answers1

1

I think your logic is right. Although you might as well just use project compatibility?

I don't know why you would ever want to do this, but you do say it is an academic question!

MarkJ
  • 30,070
  • 5
  • 68
  • 111
  • Agreed. When I started working at my current job I created a new control and we always had compatibility issues when anyone changed it. I wasn't in charge of the builds, but I had noticed there was no process in place to update the compatibility dlls when new releases were made. So I'm just verifying for myself that this was the reason behind that. (I've since set the process up correctly) – Brandon Moore Nov 21 '11 at 15:31