[python-win32] Threading problem
Aleksandar Cikota
alexci at gmx.net
Tue Apr 18 15:01:10 CEST 2006
Hi all,
I have a problem with threading.
It should work, but it cannot open a file (Document.OpenFile) if "def run
(self):" is in the code. Else the programm doesn't work.
Code:
import win32com.client
import time
import os
import threading
Document = win32com.client.Dispatch('MaxIm.Document')
Application = win32com.client.Dispatch('MaxIm.Application')
p = win32com.client.dynamic.Dispatch('PinPoint.Plate')
class TestThread (threading.Thread):
def run (self):
path_to_watch = "F:/Images/VRT/"
before = dict ([(f, None) for f in os.listdir (path_to_watch)])
while 1:
time.sleep(2)
after2 = dict ([(f, None) for f in os.listdir (path_to_watch)])
added = [f for f in after2 if not f in before]
if added:
name= ' ,'.join (added)
if str(name[-3:])=='fit':
print name
Document.OpenFile('F:/Images/VRT/'+name)
Document.SaveFile('F:/Images/VRT/'+
str(name[0:-4])+'.jpg', 6, 1024,2)
Application.CloseAll()
before = after2
TestThread().start()
Here the error message:
>>> Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Program Files\Python\lib\threading.py", line 442, in __bootstrap
self.run()
File "G:\Robot teleskop\VRT\test\test2.py", line 25, in run
Document.OpenFile('F:/Images/VRT/'+name)
File "C:\Program
Files\Python\Lib\site-packages\win32com\client\dynamic.py", line 496, in
__getattr__
raise AttributeError, "%s.%s" % (self._username_, attr)
AttributeError: MaxIm.Document.OpenFile
What does raise AttributeError, "%s.%s" % (self._username_, attr) mean?
If I use win32com.client.gencache.EnsureDispatch() in place of Dispatch the
error message looks like that:
Traceback (most recent call last):
File "G:\Robot teleskop\VRT\soft\GUI.py", line 18, in -toplevel-
Document = win32com.client.gencache.EnsureDispatch("MaxIm.Document")
File "C:\Program Files\Python\Lib\site-packages\win32com\client\gencache
py", line 543, in EnsureDispatch
raise TypeError, "This COM object can not automate the makepy process -
please run makepy manually for this object"
TypeError: This COM object can not automate the makepy process - please run
makepy manually for this object
What should I do? I hope You can help me.
For your prompt reply, I say thank you in advance.
Best regards,
Aleksandar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-win32/attachments/20060418/5679c6cf/attachment.htm
More information about the Python-win32
mailing list