COM and Threads

Teja tejovathi.p at gmail.com
Fri Oct 13 01:55:35 EDT 2006


Roger Upole wrote:

> "Teja" <tejovathi.p at gmail.com> wrote:
> >
> > Roger Upole wrote:
> >
> >> "Teja" <tejovathi.p at gmail.com> wrote:
> >> >I have an application which uses COM 's Dispatch to create a COM based
> >> > object. Now I need to upgrade the application to a threaded one. But
> >> > its giving an error that COM and threads wont go together. Specifically
> >> > its an attribute error at the point where COM object is invoked. Any
> >> > pointers please??????
> >> >
> >>
> >> An actual traceback would help.
> >> At a guess, when using COM in a thread
> >> you need to call pythoncom.CoInitialize and
> >> CoUninitialize yourself.
> >>
> >>      Roger
> >
> > Actually Roger, this is the scenario....
> >
> > I create a COM object at the beginnning of the main thread. In the sub
> > thread, I need to access the same instance of the COM object. If it
> > were a normal object ie. not a COM obj, i was able to do it. But if it
> > were a COM object, its giving an attribute error? Should I pass a COM
> > object to the thread. If so How? Please let me know ASAP... Thnks
> >
>
> To pass COM objects between threads, usually they'll need to be marshaled
> using pythoncom.CoMarshalInterThreadInterfaceInStream, and unmarshaled
> with pythoncom.CoGetInterfaceAndReleaseStream.
>
>          Roger

I really appreciate your quick reply....Can u please let me know how to
do marshalling and unmarshalling or any good refrences to do it.
Because i tried to do it. I got some errors ans so I left it...

Thnks again...




More information about the Python-list mailing list