Re: Activestate perlapp creates exe that hangs
Craig Votava <[email protected]>
| Newsgroups | gmane.comp.lang.perl.poe |
|---|---|
| Message-ID | <[email protected]> |
Andrew- Many thanks for finding a workaround to this problem. As you demonstrate, if you specify to POE::Kernel which event loop to use (instead of letting it try to figure it out on it's own), then everything works just fine! I don't know why POE::Kernel chooses the incorrect one from the *.exe file, and the correct one from the *.pl file, however, this is how you can force it to use the right one. -Craig On Apr 22, 2009, at 12:52 PM, Andrew Feren wrote: > 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