...I've started getting problems with dynamic dispatch

eg

PythonWin 2.4.1 (#65, Mar 30 2005, 09:13:57) [MSC v.1310 32 bit (Intel)] on win32.
Portions Copyright 1994-2004 Mark Hammond ([EMAIL PROTECTED]) - see 'Help/About PythonWin' for further copyright information.
>>> import win32com.client.dynamic
>>> word = win32com.client.dynamic.Dispatch("Word.Application")
Traceback (most recent call last):
File "<interactive input>", line 1, in ?
File "C:\Python\Lib\site-packages\win32com\client\dynamic.py", line 98, in Dispatch
IDispatch, userName = _GetGoodDispatchAndUserName(IDispatch,userName,clsctx)
File "C:\Python\Lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatchAndUserName
return (_GetGoodDispatch(IDispatch, clsctx), userName)
File "C:\Python\Lib\site-packages\win32com\client\dynamic.py", line 79, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
com_error: (-2147024770, 'The specified module could not be found.', None, None)
>>>


I'm running xp sp2 with word 2003 (I think it's version 11). The code I'm using is based entirely on the test stuff.

When I run the test I see the following

C:\Python\Lib\site-packages\win32com\test>testMSOffice.py
Starting Word 8 for dynamic test
Starting Word 7 for dynamic test
Traceback (most recent call last):
File "C:\Python\Lib\site-packages\win32com\test\testMSOffice.py", line 138, in TestAll
TestWord()
File "C:\Python\Lib\site-packages\win32com\test\testMSOffice.py", line 41, in TestWord
TestWord7(word)
File "C:\Python\Lib\site-packages\win32com\test\testMSOffice.py", line 49, in TestWord7
word.FileNew()
TypeError: 'NoneType' object is not callable


C:\Python\Lib\site-packages\win32com\test>testMSOffice.py
Starting Word 8 for dynamic test
Starting Word 8 for non-lazy dynamic test
Starting Word 7 for dynamic test
Traceback (most recent call last):
File "C:\Python\Lib\site-packages\win32com\test\testMSOffice.py", line 138, in TestAll
TestWord()
File "C:\Python\Lib\site-packages\win32com\test\testMSOffice.py", line 41, in TestWord
TestWord7(word)
File "C:\Python\Lib\site-packages\win32com\test\testMSOffice.py", line 49, in TestWord7
word.FileNew()
TypeError: 'NoneType' object is not callable


nothing happens in the first run, but the second does open word and do the writes etc. After I have done the tesMSOffice I see that

>>> word = win32com.client.dynamic.Dispatch("Word.Application")
>>>

works as expected. Is word non-dynamic now?

As an extra nastiness my test code also works after the testMSOffice run, but seems to disable it for the next run. My test looks like

def doWordDoc(wd):
        wd.Visible=1
        doc=wd.Documents.Add()
        wrange=doc.Range()
        for i in xrange(10):
                wrange.InsertAfter("Hello from Python %d\n" % i)
        paras = doc.Paragraphs
        for i in xrange(len(paras)):
                p = paras[i]()
                p.Font.ColorIndex = i+1
                p.Font.Size = 12 + (4 * i)
        del wrange, paras, p
        doc.Close(SaveChanges = 0)
        wd.Quit()
        del doc

and is missing the win32api.sleep(1000).

Any ideas?
--
Robin Becker
_______________________________________________
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to