The real question: I am using wxWidgets here, and am sure they are the source of the trouble. Sometimes when I make my closing actions on the frames - booom, perl interpreter says bye-bye. And sometimes nothing happens? How is it possible - one time program finishes ok, other time - perl interpreter stopped working? Can I really misuse wxWidgets that much, are they so sloppy written? From my experience, when you get crashes sometimes when running a gui, like Wx, it usually comes down to a timing problem in the eventloop compounded by differing system loads. What I mean is if your code is improperly finishing, by destroying a widget at the wrong time, or whatever, it sometimes will run ok if the gui program has full cpu access, but another time, when the system load is high, the gui's event-loop may get delayed in performing, and an odd crash may occur. It has got to be something in your code, please show it. If it comes when you destroy a frame, it may be possible that a child of that frame isn't destroying itself first, or some other esoteric timing error.
| [reply] |
| [reply] |
OS: Windows 7 Enterprise
Strawberry Perl (v5.18.2)
And I am using wxWidgets, latest from CPAN. I can't really google it, looks like not many people have the "perl interpreter stopped working problem". Because the wxWidgets are written in C++ and in Perl we have some wrapper around them - I suspect the fault is somewhere in the C++ code (some pointer failures)- and some wrong messing with the wrapped functions from my side. Because this "program has stopped working... windows detected problem" etc stuff happens quite a lot when you program C/C++, and I have never really seen them in Perl -that's why I actually asked the first question - how can I get this mesg in general (because I am a curious soul).
| [reply] |
From memory when something dies and Windows reports this sort of error there is a button on the popup which provides further details. This may also be logged in Eventviewer. Using procmon and other tools from the sysinternals suite should aid debugging. Again, have you checked open bugs for the module or the version of wxWidgets being used? Still no example code, while I've never used wxWidgets someone may be able to point out problems.
| [reply] |
Solution is simple, write better code
perl -e " use Win32API::File; use Wx ; Wx::Font->new(undef) "
perl -e " use Win32API::File; use Wx ; Win32API::File::SetErrorMode(
+2); Wx::Font->new(undef) "
| [reply] [d/l] |