> What I have tried: > > - Use DispatchEx instead of Dispatch: this works with other COM > servers, like MS Word and Excel, but not with mine. Probalby has to do > with the fact that they are local servers, whereas mine is inproc. > > - CoInitialize, CoInitializeEx with flags: no luck > > - using CoGetClassObject instead of CoCreateInstance in pythoncom, > since I read that this would be the way to go if you require multiple > instances of a server: I didnt manage to get it working because the > return type is different to that of CoCreateInstance and I dont know > how to deal with this (ctypes) > > - CoCreateInstanceEx: no luck > > In short I am looking for a way to always get a new instance of the > COM server when using dispatch, even if it is inproc. I am open to any > suggestions and corrections to my limited COM knowledge
Try looking at the source to win32com.client.Dispatch, and see how it first tries GetActiveObject() - try just calling CoCreateInstance() without the check for GetActiveObject. If that doesn't work, I'm afraid you are probably SOL - it would be the object itself implementing these semantics and therefore hard to defeat. HTH, Mark _______________________________________________ Python-win32 mailing list Python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32