Re: Captain Jake's Top Ten List of what I'd like toseeinthenextversionofDelphi



John Jacobson wrote:

Well, I don't think anybody really would expect DevCo to worry about those
kinds of interdependencies between components.

Ok, how about this completely ficticious, but possible scenario:

I've got a parsing library that has D6 DCUs and no source. And I upgrade to D2006. Let's say the parsing library takes a file and returns a TStringList of results.

What if I created a TStringList and passed it into the parsing function? Well, the TStringList in D6 has a different instance size and VMT than the one in D2006. The parsing library would be altering the wrong private fields and calling the wrong methods. Not to mention corrupting the stack.

What if the parsing library created the TStringList object and returned it back to me? This is a little more feasible, since my unit could simply use the D6 version of TStringList.

But the linker would have to be smart enough to only pull out TStringList out of the D6 VCL and use the D2006 version of everything else. Now any other unit that I happen to pass this TStringList to would also have to use the D6 TStringList. And I certainly couldn't pass it to another third-party library I have installed, which is expecting the D2006 TStringList.

I think adding the compiler/DCU version to the namespace would help solve these issues. But I have no idea what other impact that one change would have on everything else.

And I strongly agree with Allen and others here. Regardless of the resources available, there are hundreds of items that would be more beneficial to more users. I wonder how many votes this suggestion would get?
.