in reply to POE, pTk, JSON Cause Lockup with perlapp

Creating your own MainWindow is an odd workaround. $poe_main_window should be defined there, so your MainWindow->new() call should never happen.

If you do succeed in creating your own MainWindow, you may notice that clicking on the close button doesn't stop your program. You can re-enable this with POE::Kernel's signal_ui_destroy() method.

There's no good reason for JSON::XS to interfere with Tk, but perhaps there's something conflicting at the XS level. Have you tried a non-complied JSON library instead?

If it is a C-level issue, then also be sure that you're deploying the software on a compatible version of Windows and C's runtime libraries. I'm not sure whether perlapp bundles things that far down.

  • Comment on Re: POE, pTk, JSON Cause Lockup with perlapp

Replies are listed 'Best First'.
Re^2: POE, pTk, JSON Cause Lockup with perlapp
by cmv (Chaplain) on Oct 21, 2008 at 14:33 UTC
    rcaputo++ As always, thanks for your quick and knowledgable replies.

    I've made available a zip file containing the perlapp binary that I generated on my windows machine from the above program, along with a copy of the input file. You can download it for the next few days from here. On a side note, is there some way I can upload this to the perlmonks website to keep it available with this node?

    On my machine the input data shows up in the text window, but the program becomes unresponsive as soon as all the data has been placed there. If I use a really big file, I can hit the stop button and it will work (even though I'm using MainWindow->new), but then the program becomes unresponsive. Also, scrolling works while the input is being read in.

    I agree with your statement Creating your own MainWindow is an odd workaround, however I had to do this to get the perlapp-ed program to run. The value of $poe_main_window in the perlapp-ed program is null. On top of that, if I force MainWindow to be used by changing the line to be my $top = MainWindow->new(); Running the .pl script creates 2 visible windows (one blank, the other with text) while the perlapp-ed program creates only the one with the text.

    I will try using some other JSON modules and see if that has any effect.

    Thanks for the suggestions!

    -Craig