|
From: Casey W. <wil...@nc...> - 2001-11-29 22:02:54
|
Correction:
The whole problem was in my variable declaration (should have been 'our' not
'my'), not the funtion stuff. *blush*
-Casey
> Ok, I figured out the variable thing...I was using an anonymous sub
instead
> of a regular sub ref in the Event function.
>
> ----- Original Message -----
> From: "Casey Williams" <wil...@nc...>
> To: <wxp...@li...>
> Sent: Wednesday, November 28, 2001 3:33 PM
> Subject: Re: [wxperl-users] How to kick off event functions while in a
loop
>
>
> > > > Hey guys,
> > > > I've been seaching through the doc's for a way to fire off
Events
> > > even if I'm running a loop such as...
> > > >
> > > > foreach my $i (0..999999) {...}
> > > >
> > > > I've found the Yield() and SafeYield() functions. But those only
> > > allow the GUI to be updated for interaction, but don't allow the
> > > functions tied to the events to be called. At least, as far as I can
> > > tell anyhow. Anyone have any advice?
> > > The only "real" solution to your problem is to use threads; as an
> >
> > I was afraid of that. :( Are threads available in wxPerl? All I
*really*
> > need to do is toggle a variable by pressing a button to make the loop
> stop.
> >
> > > ( ugly ) workaround you might use a wxTimer; using wxYield is
_strongly_
> > > discouraged because it can lead to unexpected reentrancy
> > > problems ( of course there are cases where you can't do without ).
> > > I never used it, so I can't tell if the handlers not being fired is
> > > a wxPerl or a wxWindows problem ( will check ).
> >
> > Thanks again!
|