From: Kevin A. <al...@se...> - 2008-12-26 23:33:44
|
On Dec 24, 2008, at 3:05 AM, XXXXXXXXXXX wrote: > Has anybody done this? > > I have a PythonCard application that currently launches a second > application, which is a wxPython executable. Both get compiled with > py2exe and this works fine, except running the wxPython application is > pretty slow, expecially over a network. This appears to be down to the > time taken for the second Python and wxPython runtime DLLs to load and > run. > > So...I am resigned to merging the code and making the > wxPython application a child window (maybe modal, maybe not). My first > task appears to be getting rid of the wx.App instance in the wxPython > code, but is there anything else I need to be aware of? Has anybody > done this before and compiled a list of things to watch out for? > > Thanks > -- > XXXXXXXXXXX PythonCard is just wxPython underneath, so yeah I would just do your wxPython windows as child windows. The single wx.App as you discovered is the big limitation and since PythonCard wouldn't work without having all the setup from the initialization loop you must let your PythonCard app be the initial control. One other possibility would be to keep one or both of the apps always running and communicate as a client/server or some other networking via threads, Twisted, etc. In general, the initial loading of the wxPython runtime is slow the first time, but once it has been done, subsequent loads can be pretty fast as long as the application is still in the cache. You would have to experiment to see if you're limited by memory or if this is just a problem with a py2exe build; the executables will be different for a "compiled" py2exe application than when you're running wxPython out of the site-packages library of Python. ka |