[python-win32] problem After compiling with py2exe on a com class
Matteo Boscolo
matteo.boscolo at boscolini.eu
Tue Jul 17 08:12:21 CEST 2012
Il 17/07/2012 03:19, Mark Hammond ha scritto:
> On 17/07/2012 8:37 AM, Matteo Boscolo wrote:
>> Hi all,
>>
>> I got a com server that is crated inside a cad application.
>>
>> if i run the following code(That is a method of my com class):
>>
>> def showWindows(self):
>> """
>> show a qt windows with a button
>> """
>> try:
>> logging.info("showWindows .....")
>> nDocument=str(self.td.Documents.Count)
>> form=EditInputBox(nDocument) # <-- this is a pyqt dialog
>> form.exec_()
>> logging.info("After Exec %s"%str(self.td.Documents.Count))
>> return S_OK
>> except:
>> print_exc_plus()
>> return 1
>>
>> and I'm using the normal python source script, all work ok.
>>
>> but if I py2exe the com server,( .exe )
>
> When you run it from normal Python, is the .exe or .dll version of the
> object used?
it's an exe file not a dll
> Depending on the creator of the object, the default is likely to be
> the inproc (ie, dll) version. You should verify this and ensure
> py2exe creates the same kind of server.
>
> Apart from that, I'm afraid I have no idea...
>
> HTH,
>
> Mark
>
>
> and i run the some code, and I
>> leave the dialog opened for more than a minute I got the following
>> exception from the self.td.Documents.Count that is a method of the cad
>> application.
>>
>> It seems a problem releted to a timeout or releted to the garbage
>> collector.
>> Any Idea in how to debug it or how to find a solution to this problem is
>> really appreciated.
>>
>> regards
>> Matteo
>>
>>
>> ERROR:root:********************
>> ERROR:root:<class 'pywintypes.com_error'>
>> ERROR:root:(-2147417856, 'System call failed.', None, None)
>> ERROR:root:<traceback object at 0x027CBF58>
>> ERROR:root:********************
>> ERROR:root:Locals by frame, innermost last
>> ERROR:root:Frame <module> in boot_com_servers.py at line 112
>> ERROR:root: get_classes = <function get_classes at
>> 0x02C134F0>
>> ERROR:root: DllUnregisterServer = <function DllUnregisterServer at
>> 0x02D5C470>
>> ERROR:root: arg = /automate
>> ERROR:root: clsids =
>> ['{1E685399-2991-4E3D-8217-22DE9CFBEAF6}']
>> ERROR:root: __package__ = None
>> ERROR:root: com_module_names = ['testCom']
>> ERROR:root: __doc__ = None
>> ERROR:root: zipextimporter = <module 'zipextimporter' from
>> 'C:\d\OMNIAS~1\PROGRA~1\ECLIPS~1\ALLPUR~1\THINKD~1\TestCom\dist\testCom.exe\zipextimporter.pyc'>
>>
>>
>> ERROR:root: __builtins__ = <module '__builtin__' (built-in)>
>> ERROR:root: sys = <module 'sys' (built-in)>
>> ERROR:root: __name__ = __main__
>> ERROR:root: com_modules = [<module 'testCom' from
>> 'C:\d\OMNIAS~1\PROGRA~1\ECLIPS~1\ALLPUR~1\THINKD~1\TestCom\dist\testCom.exe\testCom.pyc'>]
>>
>>
>> ERROR:root: DllRegisterServer = <function DllRegisterServer at
>> 0x02D5C330>
>> ERROR:root: i = 1
>> ERROR:root: k = <class 'testCom.TestComInterface'>
>> ERROR:root: m = <module 'testCom' from
>> 'C:\d\OMNIAS~1\PROGRA~1\ECLIPS~1\ALLPUR~1\THINKD~1\TestCom\dist\testCom.exe\testCom.pyc'>
>>
>>
>> ERROR:root: DllInstall = <function DllInstall at
>> 0x02D5C4B0>
>> ERROR:root: win32com = <module 'win32com' from
>> 'C:\d\OMNIAS~1\PROGRA~1\ECLIPS~1\ALLPUR~1\THINKD~1\TestCom\dist\testCom.exe\win32com\__init__.pyc'>
>>
>>
>> ERROR:root: pythoncom = <module 'pythoncom' from
>> 'C:\d\OMNIAS~1\PROGRA~1\ECLIPS~1\ALLPUR~1\THINKD~1\TestCom\dist\testCom.exe\pythoncom27.dll'>
>>
>>
>> ERROR:root: win32api = <module 'win32api' from
>> 'C:\d\OMNIAS~1\PROGRA~1\ECLIPS~1\ALLPUR~1\THINKD~1\TestCom\dist\testCom.exe\win32api.pyd'>
>>
>>
>> ERROR:root:Frame serve in win32com\server\localserver.pyc at line 36
>> ERROR:root: infos = [(<PyIClassFactory at 0x02E9E4B8
>> with obj at 0x02F43B08>, 16)]
>> ERROR:root: clsids =
>> ['{1E685399-2991-4E3D-8217-22DE9CFBEAF6}']
>> ERROR:root:Frame _Invoke_ in win32com\server\policy.pyc at line 277
>> ERROR:root: wFlags = 3
>> ERROR:root: args = ()
>> ERROR:root: lcid = 0
>> ERROR:root: dispid = 1001
>> ERROR:root: self =
>> <win32com.server.policy.DesignatedWrapPolicy instance at 0x02EEE2B0>
>> ERROR:root:Frame _invoke_ in win32com\server\policy.pyc at line 282
>> ERROR:root: wFlags = 3
>> ERROR:root: args = ()
>> ERROR:root: lcid = 0
>> ERROR:root: dispid = 1001
>> ERROR:root: self =
>> <win32com.server.policy.DesignatedWrapPolicy instance at 0x02EEE2B0>
>> ERROR:root:Frame _invokeex_ in win32com\server\policy.pyc at line 585
>> ERROR:root: serviceProvider = None
>> ERROR:root: self =
>> <win32com.server.policy.DesignatedWrapPolicy instance at 0x02EEE2B0>
>> ERROR:root: args = ()
>> ERROR:root: dispid = 1001
>> ERROR:root: funcname = showWindows
>> ERROR:root: wFlags = 3
>> ERROR:root: lcid = 0
>> ERROR:root: func = <bound method
>> TestComInterface.showWindows of <testCom.TestComInterface object at
>> 0x02D72810>>
>> ERROR:root: kwArgs = None
>> ERROR:root:Frame showWindows in testCom.pyc at line 133
>> ERROR:root: self = <testCom.TestComInterface object
>> at 0x02D72810>
>> ERROR:root: nDocument = 1
>> ERROR:root: form = <testCom.EditInputBox object at
>> 0x05482588>
>> ERROR:root:Frame __getattr__ in win32com\client\__init__.pyc at line 466
>> ERROR:root: self = <win32com.gen_py.think3
>> thinkdesign Type Library.IApplication instance at 0x49209832>
>> ERROR:root: args = (11, 2, (9, 0), (), 'Documents',
>> '{91D219D5-0F56-11D3-BD73-00500400405B}')
>> ERROR:root: attr = Documents
>> ERROR:root:Frame _ApplyTypes_ in win32com\client\__init__.pyc at line
>> 459
>> ERROR:root: resultCLSID =
>> {91D219D5-0F56-11D3-BD73-00500400405B}
>> ERROR:root: dispid = 11
>> ERROR:root: self = <win32com.gen_py.think3
>> thinkdesign Type Library.IApplication instance at 0x49209832>
>> ERROR:root: args = ()
>> ERROR:root: retType = (9, 0)
>> ERROR:root: argTypes = ()
>> ERROR:root: wFlags = 2
>> ERROR:root: user = Documents
>>
>> _______________________________________________
>> python-win32 mailing list
>> python-win32 at python.org
>> http://mail.python.org/mailman/listinfo/python-win32
>
>
More information about the python-win32
mailing list