Rocco-

On Apr 20, 2009, at 2:18 PM, Rocco Caputo wrote:

Someone has had this exact problem in a recent PerlMonks thread.

That was me (cmv on perlmonks).

The last I read on the subject, the user was forcing POE::Loop::Select usage, which bypasses the Tk event loop. They were also including Tk widgets on the perlapp command line, and someone suggested that use-ing them in the code was a better option.

When perlapp includes a module, my understanding is that the module is made available to the application, but it's not forced to be used. In this case, perlapp is including POE::Loop::Select, POE::Loop::Tk, and POE::Loop::TkActiveState, but it's up to the application to decide which ones to use.

I believe I'm narrowing down the problem, but it's very slow going for me, as I don't understand a lot of POE yet.

Given this program:
===================
use warnings;
use strict;

use Tk;
use POE;

if(! defined($poe_main_window)) { die "\$poe_main_window not defined" };
===================

When I run it as a perl script on the windows box, it works as expected. When I compile it with perlapp, the resulting executable dies, claiming poe_main_window is not defined.

Can anyone use perlapp on this program and have the resulting executable avoid hitting the die?

Thanks

-Craig

PS - Here is the perlapp line I use:

perlapp --add "POE::Wheel" --add "POE::Loop::Tk" --add "POE::Loop::Select" --add "POE::Resource::Aliases" --add "POE::Resource::Events" --add "POE::Resource::Extrefs" --add "POE::Resource::FileHandles" --add "POE::Resource::SIDs" --add "POE::Resource::Sessions" --add "POE::Resource::Signals" --add "POE::Resource::Statistics" --add "POE::Session" --add "POE::Driver::SysRW" --add "POE::Filter::Line" --verbose --clean -- force --lib lib --exe tst130.exe tst130.pl

Reply via email to