Neil Cerutti wrote: > On 2006-10-14, Teja <[EMAIL PROTECTED]> wrote: > > What is "ValueError: argument is not a COM object" ? I get this > > error when I try to pass a COM object to a thread. > > > > Any pointers???? > > Try passing it to Larry Bird, instead. He's bound to score some > points. > > Seriously, the function you called expected a COM object and you > passed it something else. Without seeing more code, it's hard to > be any helpfuller. > > -- > Neil Cerutti
HI all, I have a problem in accesing COM objects in threads. To be precise, lets assume that I have a class GenericFunctions which is defined as follows: import win32com.client, pythoncom, thread ie=win32com.client.Dispatch('internetexplorer.application') ie.Visible=1 class GenericFunctions: def __init__(self): print "In Constructor of Generic Functions" def MyNavigate(self,dest): ie.Navigate(dest) Now there is another file Main.py which is defined as follows: import win32com.client, pythoncom, thread from GenericFunctions import * obj = GenericFunctions() class Mainclass: def __init__(self); print "In Constructor of Main class" def threadFunction(self,dest): pythoncom.CoInitialize() d=pythoncom.CoGetInterfaceAndReleaseStream(s, pythoncom.IID_IDispatch) my_ie=win32com.client.Dispatch(d) obj.func(dest) # this is gving an error. pythoncom.CoUninitialize() if __name__ == "__main__": s=pythoncom.CoMarshalInterThreadInterfaceInStream(pythoncom.IID_IDispatch,ie) thread.start_new_thread(self.nav, (s,'www.google.com') Basically, I want to access object of GenericFunctions class inside threadFunction(). However I was able to execute my_ie.Navigate("google.com"). But that was not I wanted. I am not knowing where the error is.... Please let me know the solution ASAP... Teja.P -- http://mail.python.org/mailman/listinfo/python-list