Re: Activestate perlapp creates exe that hangs
Andrew Feren <[email protected]>
| Newsgroups | gmane.comp.lang.perl.poe |
|---|---|
| Message-ID | <[email protected]> |
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]
>
tk.pl
(text/x-perl, 439 B)
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" };