11-02-2007 05:19 AM
11-02-2007 01:17 PM
And here's confusion coming from those same links:
Explicit linking eliminates the need to link the application with an import library. If changes in the DLL cause the export ordinals to change, applications using explicit linking do not have to relink (assuming they are calling GetProcAddress with a name of a function and not with an ordinal value), whereas applications using implicit linking must relink to the new import library.
This makes you believe that if the function ordinal changes, implicit (aka load time / static / using a .LIB import library) linking necessarily breaks. And it turns out this isn't necessarily true as you've discovered.
It didn't make sense to me that it would be true, and it isn't. I thought I might have to write my own function lookup glue code to do the name matching.
I also have a 2005 text book that also confuses the issue, claiming that DLL changes always require .exe rebuild if implicit linking is used.
I think commercial developers take their fate into their own hands by using a .DEF file to steer the ordinals so that new functions get new ordinals. I don't see any way with CVI to use a .DEF file.
Menchar