python - dll access (ctypes or swig)
Larry Bates
larry.bates at websafe.com
Wed Apr 18 09:13:44 EDT 2007
Alex Martelli wrote:
> Larry Bates <larry.bates at websafe.com> wrote:
>
>> recently learned that you can ship COM as either an .EXE or a .DLL (nobody
>> has yet let me know why).
>
> The "why" is pretty obvious -- you may want to be able to instantiate a
> COM object either in-process, or in its own separate process, depending
> on that object's nature. For example, a complete application that when
> running exposes COM objects to let other processes drive/script it will
> be an EXE file since it can also run independently.
>
> In general I'm no big fan of MS's design, but COM, despite its
> imperfections, was in fact seriously good (Don Box's "Essential COM", an
> excellent book, went just into enough depth to let a developer really
> appreciate that, IMHO). I'm using the past tense because MS has been
> trying to kill COM for a while now (but I notice that "Essential COM",
> while 10 years-old, is _still_ in stock at Amazon -- so, I guess that so
> far MS's attempts haven't _quite_ succeeded yet:-).
>
>
> Alex
I guess I was the only one it wasn't "obvious" to <grin>. I've always
written my COM servers as .EXE files even though they cannot be run
independently. What I find is "odd" is that I can create a .DLL or an
.EXE of my COM server and after I register it, my application doesn't
appear to know the difference. The difference seems to be hidden from
the actual application and doesn't affect it (at least that I can
determine).
I also think COM works quite well and I've found it much easier to use
than C-style DLLs that many vendors ship as their API. Most of what
I've learned came from Mark/Andy's Python Programming on Win32 and
trial-and-error so my knowledge is quite limited.
Thanks for the info.
Larry
More information about the Python-list
mailing list