[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