1
我在Windows Server 2003標準版x64版本上安裝了一個64位Python 2.7(python-2.7.3.amd64.msi)和一個64位的win32-Extension(pywin32-218.win-amd64-py2.7.exe)。 我的應用程序是SolidWorks 2012 x64版本。 然後我生成在使用python 64bit win32com(Solidworks-API)期間發生異常:異常SldWorks.Application.InvokeTypes
C:\Python27\Lib\site-packages\win32com\client\makepy.py "D:\Program Files\SolidWorks Corp\SolidWorks\sldworks.tlb" the file 83A33D31-27C5-11CE-BFD4-00400513BB57x0x20x0.py
與
C:\Python27\Lib\site-packages\win32com\client\makepy.py "D:\Program Files\SolidWorks Corp\SolidWorks\swconst.tlb" the file 4687F359-55D0-4CD3-B6CF-2EB42C11F989x0x20x0.py
我下面的代碼工作正常,在32位Windowes XP 32位與Python的2.4和32位的Win32的擴展。 但是在我的64位服務器上,我通過調用ExitApp()方法得到一個異常「SldWorks.Application.InvokeTypes」。 是什麼原因,我該如何解決這個問題? 感謝您的提示,托馬斯
try:
pythoncom.CoInitializeEx(pythoncom.COINIT_APARTMENTTHREADED)
sldworks = gencache.EnsureModule('{83A33D31-27C5-11CE-BFD4-00400513BB57}', 0x0, 20, 0)
print "sldworks = " + str(sldworks)
swconst = gencache.EnsureModule('{4687F359-55D0-4CD3-B6CF-2EB42C11F989}', 0x0, 20, 0)
print "swconst = " + str(swconst)
sw = sldworks.ISldWorks(DispatchEx('SldWorks.Application'))
print "sw = " + str(sw)
sw.ExitApp()
except Exception, value:
print "Exception occured, value = ", value
這裏的打印:
sldworks = module 'win32com.gen_py.83A33D31-27C5-11CE-BFD4-00400513BB57x0x20x0' from 'C:\Python27\lib\site-packages\win32com\gen_py\83A33D31-27C5-11CE-BFD4-00400513BB57x0x20x0.pyc'
swconst = module 'win32com.gen_py.4687F359-55D0-4CD3-B6CF-2EB42C11F989x0x20x0' from 'C:\Python27\lib\site-packages\win32com\gen_py\4687F359-55D0-4CD3-B6CF-2EB42C11F989x0x20x0.pyc'
sw = win32com.gen_py.SldWorks 2012 Type Library.ISldWorks instance at 0x82548360
Exception occured, value = SldWorks.Application.InvokeTypes
你找到問題的解決方案?我面臨類似的問題。 – coolshashi