I don't use Tk, but I do use perlapp and POE. The attached script works compiled with perlapp and as a vanilla perl script. (By works I mean no more error messages when compiled. The script still doesn't *do* anything ;-)

The important magic seems to be

   use POE qw (Loop::TkActiveState);

without including TkActiveState when you use POE Loop::Select seems to be preferred.

The rest of the use statements are mostly to get perlapp to include modules without a bunch of --add arguments.

-Andrew

Craig Votava wrote:
Rocco-

Thank you very much for continuing to help me on this issue. Nobody else (activestate, perlmonks, netnews, etc) seems to be able to.

I started putting print statements in the POE kernel and various Loop modules to see the differences between running the *.pl and *.exe on Windows.

When running the *.pl I see POE::Loop::TkCommon -> POE::Loop::Tk -> POE::Loop::TkActiveState

When running the *.exe I see POE::Loop::Select

Obviously, POE::Kernel cannot seem to realize it needs Tk when running from the *.exe - I'm trying to figure out how that code works now.

Any hints or pointers are appreciated!

Thanks

-Craig

On Apr 22, 2009, at 1:49 AM, Rocco Caputo wrote:

Maybe exception handling is catching an error?

Before you use any POE modules, please define this subroutine:

sub POE::Kernel::CATCH_EXCEPTIONS () { 0 }

That will disable exception handling, which may uncover something useful.

--
Rocco Caputo - [email protected]

use warnings;
use strict;


use Tk;
use POE qw (Loop::TkActiveState);

use POE::Loop::TkActiveState;
use POE::Kernel;
use POE::Session;
use POE::Resource::Aliases;
use POE::Resource::Events;
use POE::Resource::Extrefs;
use POE::Resource::FileHandles;
use POE::Resource::Sessions;
use POE::Resource::SIDs;
use POE::Resource::Signals;
use POE::Resource::Statistics;


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

Reply via email to