[wxPython] wxGrid newbie segfault

I'm probably doing something fundementally wrong here
(usually am!) but I don't see anything important missing
from the code below, that is in the SimpleGrid in the
demo - and yet my code segfaults and the demo doesn't.
Help?

Regards,
Denny

···

-----

#!/usr/local/bin/python

from wxPython.wx import * # wxPython GUI toolkit
from wxPython.grid import * # wxPython wxGrid extension

class myGridTest (wxGrid):
        def __init__ (self, parent):
                wxGrid.__init__ (self, parent, -1)

                x = 10
                self.CreateGrid (x, x)

class myApp (wxApp):
        def OnInit (self):
                win = myGridTest (NULL)
                win.Show (true)
                self.SetTopWindow (win)
                return (true)

app = myApp()
app.MainLoop()

-----

----------------------------------------------------------
Denny De La Haye \ www-edc.eng.cam.ac.uk/~djd33
Engineering Design Centre, \ www-edc.eng.cam.ac.uk
Department of Engineering, \ www.eng.cam.ac.uk
University of Cambridge, UK \ www.cam.ac.uk
----------------------------------------------------------
"Only two things are infinite, the universe and human stupidity,
and I'm not sure about the former." (Albert Einstein)

I'm probably doing something fundementally wrong here
(usually am!) but I don't see anything important missing
from the code below, that is in the SimpleGrid in the
demo - and yet my code segfaults and the demo doesn't.
Help?

The grid is not a managed window so you need to put it into one (a wxFrame,
wxDialog, etc.)

···

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!

Heh, the dangers of over-simplifying example code. The original is
inside a wxFrame and still crashes in much the same manner...

Hrm... just wrapped that example into a frame and it worked. I'll
poke round some more... thanks for the tip.

Regards,
Denny

···

On Thu, 5 Apr 2001, Robin Dunn wrote:

The grid is not a managed window so you need to put it into one
(a wxFrame, wxDialog, etc.)

----------------------------------------------------------
Denny De La Haye \ www-edc.eng.cam.ac.uk/~djd33
Engineering Design Centre, \ www-edc.eng.cam.ac.uk
Department of Engineering, \ www.eng.cam.ac.uk
University of Cambridge, UK \ www.cam.ac.uk
----------------------------------------------------------
"Only two things are infinite, the universe and human stupidity,
and I'm not sure about the former." (Albert Einstein)

Hello. I've distributed an application using the
components that I'm currently using in development
to a few testers, and the ActiveX component (IE Explorer)
is known to cause GPF on Win 95 and Win 98 using
wxPython 2.2

These things are often hard to track down. What
type of information should I be collecting to track
this down? What steps to I take? (It works great
on my computers).

Thanks!

Clark

Hello. I've distributed an application using the
components that I'm currently using in development
to a few testers, and the ActiveX component (IE Explorer)
is known to cause GPF on Win 95 and Win 98 using
wxPython 2.2

The details I have on this problem so far are here:

http://sourceforge.net/tracker/?func=detail&aid=222100&group_id=9863&atid=10
9863

As it says, the problem can be reduced to

import wxPython.wx
import pywin.mfc.activex
import win32com.client.gencache
module = win32com.client.gencache.EnsureModule(
    "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 0, 1, 1)

and if either of the first two lines are removed then it runs
successfully...

These things are often hard to track down. What
type of information should I be collecting to track
this down? What steps to I take? (It works great
on my computers).

If you have the ability to make debug builds of Python, win32all and
wxPython and then run it in the debugger on a win98 machine that would be
the best next step. (Last I tried my win98 machine doesn't have the
capacity to do it. Now that ActiveState is distributing debug versions I
should probably try again using them...)

···

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!

I took the ActiveX demo and slightly changed it
to load the ie module directly (I did a makepy -i)

- http://clarkevans.com/test/ie5.py
- http://clarkevans.com/test/testie.py

Anyway, testie.py runs great on my Win2K and WinNT
box, but it has the problem described in the bug
report you mentioned when run on Win98:

   "This application has performed an illegal
    operation and will be closed."

I didn't see a pywin.mfc.activex line that I
can remove... any suggestions?

Thank you so much for your help!

Clark

P.S. Also in the test directory on my box is
      "testie.exe" which was made with py2exe
      with the folder generated made into a
      WinZip executable. This unzips and runs
      well on the NT boxes, but has a very
      hard time on Win98 as described.

···

On Fri, 6 Apr 2001, Robin Dunn wrote:

As it says, the problem can be reduced to

import wxPython.wx
import pywin.mfc.activex
import win32com.client.gencache
module = win32com.client.gencache.EnsureModule(
    "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 0, 1, 1)

and if either of the first two lines are removed then it runs
successfully...

Robin,

In what file would the above code be in? In my distribution
the only place "EAB22AC0" and "pywin.mfc" occur are in the
pywin\Demos\ocx\webbrowser.py -- however, this file does
not have wxPython.wx (since it is not wxWindows based).

I'm still experiencing this problem, and I'd like
to deploy an wxPython program which uses an ActiveX
component on Win95/98/Me. What is my next step?

Clark

···

On Fri, 6 Apr 2001, Robin Dunn wrote:

import wxPython.wx
import pywin.mfc.activex
import win32com.client.gencache
module = win32com.client.gencache.EnsureModule(
    "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 0, 1, 1)

and if either of the first two lines are removed then it runs
successfully...

> import wxPython.wx
> import pywin.mfc.activex
> import win32com.client.gencache
> module = win32com.client.gencache.EnsureModule(
> "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 0, 1, 1)
>
> and if either of the first two lines are removed then it runs
> successfully...

Robin,

In what file would the above code be in?

I meant that the problem could be reduced to only those lines of code to
help anybody able to take on solving it. Removing a line is not a fix for
the problem, but is just demonstrating another symptom.

In my distribution
the only place "EAB22AC0" and "pywin.mfc" occur are in the
pywin\Demos\ocx\webbrowser.py -- however, this file does
not have wxPython.wx (since it is not wxWindows based).

I'm still experiencing this problem, and I'd like
to deploy an wxPython program which uses an ActiveX
component on Win95/98/Me. What is my next step?

We need somebody able to build debug versions of Python, win32all, and
wxPython on a Win98 machine and run the above Python code while in the VC
debugger so we can find out where it is crashing at and hopefully be able to
get some clues from the backtrace as to why.

···

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!

Ok. I just put a clean install of Win98 on my box and downloaded
the debug libraries for Active State Python. Where do I get the
debug libraries for wxPython? (yes, I know I could build them,
but I'd rather not)

Then I just need MSVC?

Clark

···

On Mon, 9 Apr 2001, Robin Dunn wrote:

We need somebody able to build debug versions of Python, win32all, and
wxPython on a Win98 machine and run the above Python code while in the VC
debugger so we can find out where it is crashing at and hopefully be able to
get some clues from the backtrace as to why.

> We need somebody able to build debug versions of Python, win32all, and
> wxPython on a Win98 machine and run the above Python code while in the

VC

> debugger so we can find out where it is crashing at and hopefully be

able to

> get some clues from the backtrace as to why.

Ok. I just put a clean install of Win98 on my box and downloaded
the debug libraries for Active State Python. Where do I get the
debug libraries for wxPython? (yes, I know I could build them,
but I'd rather not)

I havn't published any debug builds for a while, so it may be best if you do
it since my workspace has progressed beyond 2.2.5 quitre a bit.

Then I just need MSVC?

Presumably.

···

On Mon, 9 Apr 2001, Robin Dunn wrote:

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!