Fast Learner said:
To make sure I understand the code module concept, from a Windows perspective are we talking about DLLs or ActiveX or what? (Addressed to Klintus or Luke or whomever.)
Well, I'm not suggesting that the full goal is achievable (from an organizational, rather than a technical perspective), but:
If you're happy to talk a
Windows-only solution, ActiveX (or straight COM, supporting the dispatch interface) is a really good way to go. You release a single, self-contained file that can be instantly and easily used in many programming environments (including VB).
Essentially the dispatch interface contains within it a kind of data dictionary that describes all functions and parameters of those functions.
With DLLs, you need header files and such, and need to recompile against any new release. If you try to build something decent within DLLs that describes the functionality within it (in terms of available functions and their parameters), you essentially end up with soemthing like COM (with dispatch interfaces).
The other interesting thing about COM (or ActiveX), is that you can readily extend it to be DCOM. This essentially lets you use it across a network, as if it was on your machine (using tcp/ip behind the scenes).
It fulfills Kilntus' goals neatly, in that you don't actually put any GUI in such interfaces (for DCOM). It's purely about instantiating an object (on a remote machine if it's DCOM), and getting/setting properties, as well as calling functions.
Regards