On Fri, 09 Sep 2005 08:36:00 +0200, Thomas Heller <[EMAIL PROTECTED]> wrote:
>Joakim Persson <[EMAIL PROTECTED]> writes: > >> I have a rather bloated C++ client prototype which "works", so I >> should have all the code needed to invoke the interface, but this >> client is of course rather bloated in itself and not suitable for my >> experimental programming approach. Am I right in believing that the >> COM interface I am trying to use is of what is called a "custom" type, >> that I cannot access using Python + win32com? > >Sounds like a perfect job for comtypes, which is a COM library >implemented in pure Python, based on ctypes. comtypes should make it >easy to access custom (non-dispatch derived) com interfaces, or the >vtable based part of dual interfaces - it would be good however, if you >have a type library for the interfaces. > >http://sourceforge.net/projects/comtypes/ > >No docs yet, but there are tests included which should get you started. > >(I have released and announced this 3 weeks ago, but haven't got a >single feedback. So it seems the need to access custom interfaces is >very low.) > >Thommas Looks good, I think I downloaded ctypes but didn't put in the effort to wrap the custom COM interface. I have the type library and full documentation of the interface, so IMO it _should_ be possible to make a 100% Python application for testing this particular interface, which would definitely speed up prototyping, which is the entire goal of my work. I will give it a spin tomorrow, and I'll get back on the NG once I have tested it. Many thanks! It seems most Python uses for COM rely on "simple" automation of COM interfaces of the IDispatch type, but I need something more (full client<->server communication and threading, for instance). Hopefully your module will at least let me get one step further... My remaining two options, seeing as I would really like to at least put the data processing and presentation part in Python, are linking Python with C++ for the COM part and building (Data + Presentation) in Python, or making a complete standalone C++ part for the COM part and then _another_ client<->server solution using e.g. named pipes/sockets. -- Joakim Persson M.Sc student, CS/E @ LTH -- http://mail.python.org/mailman/listinfo/python-list