win32com problem: more than one instance
Thomas Rademacher
thomas.rademacher at nikocity.de
Fri Aug 31 08:20:22 EDT 2007
Hello,
I start my script convert.py simultaneously in any dos-shells several
times. But I get every time the same solidworks instance.
I see in the proccess (task) manager only one solidworks.exe
Therefore I get for all simultaneous conversions the same output file.
I tested the same code with excel (test_excel.py) and her I get many
instances of excel in proccess (task) manager.
How can I get many instances of solidworks?
Is it a problem of python?
Or is it a problem of the Solidworks-COM-Implemention and I get the
same problem with an C++ client implementation?
Thanks for your help, Thomas
convert.py
import pythoncom
pythoncom.CoInitializeEx(pythoncom.COINIT_MULTITHREADED)
sldworks = gencache.EnsureModule('{83A33D31-27C5-11CE-
BFD4-00400513BB57}', 0x0, 13, 0)
sw = sldworks.ISldWorks(DispatchEx('SldWorks.Application'))
swmodel, errors, warnings = sw.OpenDoc6(sourceName,
constants.swDocPART, constants.swOpenDocOptions_Silent, "")
activeDoc = sw.ActiveDoc
retval, errors, warnings = swmodel.SaveAs4(targetName,
constants.swSaveAsCurrentVersion ,
constants.swOpenDocOptions_Silent )
pythoncom.CoUninitialize()
test_excel.py
import pythoncom
pythoncom.CoInitializeEx(pythoncom.COINIT_MULTITHREADED)
myExcel = win32com.client.DispatchEx('Excel.Application')
myExcel.Visible = 1
Excel = myExcel.Workbooks.Open(excelfile, 0, False, 2)
Excel.Saved = 1
Excel.Close()
myExcel.Quit()
del myExcel
del Excel
pythoncom.CoUninitialize()
More information about the Python-list
mailing list