[Python.NET] CLR + wxPython + OLE initialization

Brian Almond pythonista at sbcglobal.net
Fri Apr 9 22:33:43 EDT 2004


Today I found that in my wxPython apps, adding a CLR
import at the top of the files causes wxPython's
mainloop to generate a warning message box which reads
"Could not initialize OLE".  Otherwise, the
application seemed functional.  I experimented with
it, and it seems that delaying CLR-related imports
until after the wx Mainloop has started does the
trick.

Here's a tiny wxPython app that demonstrates the
error:

import wx
#import CLR

class MyApp(wx.App):
    def OnInit(self):
#        global CLR
#        import CLR
        self.frame = wx.Frame(None, -1, 'Test Window')
        self.frame.Show(True)
        return True

app = MyApp(0)
app.MainLoop()

If you uncomment the first comment, the application
window will open, and an OleInitialize failure message
will pop up.  If you instead uncomment the second two
comments, the application window will open without
error. (Note: this was with the latest wxPython build,
2.5.1.5 - I assume similar failures occur with older
builds.)

It's not a big deal to move the imports, but it's a
little unnatural to me.  Is this something that's
broken in Python for .NET, or .NET, or...  Here's a
possibly related message I found on wx-users: http://lists.wxwidgets.org/archive/wx-users/msg30069.html



More information about the PythonDotNet mailing list