PDA

View Full Version : 'No Compatibility' option


gmichaud
04-26-2004, 09:26 AM
Why isn't there a "Set No Compatibility" option in the "Make VB6" action? The documentation mentions that project set to no compatibility are compiled and references are updated automatically. We'd like to use this mode instead of project compatibility.

Why? We've found a problem with VBControlExtender and UserControls. As soon as the TypeLib version hits 10, VBControlExtender no longer receive any events. I can't locate a knowledge base article that documents the problem, however there are many posts on Google Groups and most people suggest to rebuild with no compatibility. Also, this post specifically mention that the problem start occuring when the TypeLib version is >= 10, and that's exactly our problem.

http://groups.google.com/groups?q=WithEvents+VBControlExtender+TypeLib+Vers ion&hl=fr&lr=&ie=UTF-8&oe=UTF-8&selm=%236E2T5pICHA.2500%40tkmsftngp09&rnum=1

The only solution we have is to manually set them to no compatibility, however i'd like to have Visual Build set all of them to "Binary Compatibility" afterwards, like I can do right now when building with "Project Compatibility"

Thanks again!

kinook
04-26-2004, 10:14 AM
I guess we weren't aware there would ever actually be a need to use no compatibility over project compatibility, or maybe we assumed that anyone doing really advanced stuff would use the typelib method as mentioned in the FAQ to take compatibility issues out of VB's hands.

Anyway, that capability is not currently exposed in the Make VB6 action, and we'll consider adding it for a future release. What you can do for now is use the VSMake tool, which pre-dates the Make VB6 action but does actually have a /nocompat flag to set projects to no compatibility. Add a Run Program step with a command of

%VSMAKE% "drive:\path\to\file.vbg" /nobuild /nocompat

before the Make VB6 action (it is not advised to use VSMake to build as several bugs and enhancements have been fixed/added in the Make VB6 action since VSMake was last updated).

gmichaud
04-26-2004, 10:19 AM
Thank you for your fast reply. This upgrade was well worth the price!

gmichaud
04-26-2004, 03:21 PM
By the way, does this mean that the incremental builds will not work? If the VSMAKE action updates all the project file, the Make VB6 will detect a change and rebuild all the projects, right?

If there's no way to avoid this, I would really like the "No Compatibility" option in a future update of Visual Build.

Thank you.

kinook
04-26-2004, 03:50 PM
VSMake (like the Make VB6 action) retains the original VBP timestamp when updating the compatibility flag.