There was another post I just noticed about created DLL's in VB. While that
capability would certainly be nice, I think the authors comments about COM
are worth noting.

I doubt he and I are the only ones to be irritated by VB's little COM +eccentricities+.
Actually, over and above VB, I've begun to seriously wonder about COM altogether.

I started a project almost 2 years ago and I bought in to the whole COM shpiel
hook line and sinker. Since then, I can't count the times I've seen the registry
on our various development machines get so clogged with left over garbage
that the only way to clean things out was to reinstall windows. Yes, I'm
aware of all the tools out there like RegMaid, and RegClean, etc, etc. None
of them work completely and I understand why. The inner workings of COM with
respect to the registry are so jumbled, I'm surprised that COM works at all.

Don't get me wrong, Component programming and multi-tier development are
very useful concepts, esp with regards to web based development and scalability,
but I'm not so sure that COM is the answer. Let's see:

1. It's bloated,
2. It's complex to the point that even VB's authors can't make it work right
consistently
3. It was so badly implemented in it's first iteration that it had to have
what even Microsoft acknowledges was a major hack thrown on top of it (MTS).

I fully agree with the precept that an interface should be an indicator of
compatibility between a "server" component and it's clients, but COM's approach
is far too strict, especially during development cycles when time is at a
premium and the cost to "break compatility" to add one method or property
is so high.

It seems one of COMs goals was this "Contract" between clients and servers,
which is directly related to versioning of servers for compatibility with
clients. COM hasn't come close to solving that problem, esp not with error
messages like "error 429, Active X object could not be created" or somesuch...

Maybe this isn't quite the right forum to bring this up, but it seems that
if the COM guys can't get this right, maybe the VB guys could/should do something
to make component development and deployment during development as hassle
free as possible.