Re: Self terminating popup window - need help
Re: Self terminating popup window - need help
- Subject: Re: Self terminating popup window - need help
- From: Dan Yocom <email@hidden>
- Date: Fri, 15 Apr 2005 10:26:37 -0400
It works the first time it is done, but after the window closes the
execution does not return where it left off, and my program is
unresponsive.
On 4/14/05, Jagil Dragon <email@hidden> wrote:
> I have never needed to run a timer in a thread other then the main thread
> (which automatically has a run loop). In the method your new thead executes,
> what you can try is this:
>
> NSPool *pool = [[NSAutoreleasePool alloc] init];
> NSRunLoop *runLoop;
> runLoop = [NSRunLoop currentRunLoop];
> // Make your timer in here...
> [runLoop run];
> [pool release];
>
> Let me know if that does not work, because I have another idea that might.
>
>
> Quoting Dan Yocom <email@hidden>:
> > Is there a way to let my thread have a message run loop?
> >
> > On 4/14/05, Joshua D. Orr <email@hidden> wrote:
> >> I am guessing you are using a NSTimer. Your new thread probably
> >> does not have
> >> a message run loop running, and NSTimer makes use of that.
> >>
> >> Quoting Dan Yocom <email@hidden>:
> >>
> >> > Hi,
> >> > I created a subclass of NSWindow that automatically closes the
> >> > window after three seconds. The subclass works as it should when
> >> > called from a normal objective-C routine/function. However, if I call
> >> > it from within a NSThread I create, it will popup but not close. Does
> >> > anyone know why it won't work porpperly when call from within an
> >> > NSThread?
> >> >
> >> >
> >> >
> >> >
> >> > ---------------------------------- Custom NSWindow class
> >> > --------------------------------
> >> >
> >> > - (id)initWithContentRect:(NSRect)contentRect styleMask:(unsigned
> >> > int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag
> >> > {
> >> >
> >> > NSWindow* result = [super initWithContentRect:contentRect
> >> > styleMask:aStyle backing:NSBackingStoreBuffered defer:NO];
> >> > [result setLevel: NSStatusWindowLevel];
> >> >
> >> > [self performSelector:@selector(closeSplashScreenPanel)
> >> > withObject:nil afterDelay:3];
> >> >
> >> > return result;
> >> > }
> >> >
> >> > - (void)closeSplashScreenPanel
> >> > {
> >> > [self release];
> >> > }
> >> >
> >> > ---------------------------------- NSThread Stuff
> >> > ---------------------------------------------
> >> > [NSThread detachNewThreadSelector: @selector(MyThread) toTarget:self
> >> > withObject:nil];
> >> >
> >> > - (void)MyThread
> >> > {
> >> > NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
> >> >
> >> >
> >> > //Programatically Create and display window here
> >> > //in my actuall program I have a hole bunch of
> >> > stuff running in a while loop
> >> >
> >> >
> >> > [pool release];
> >> >
> >> > }
> >> >
> >> > Any help would be great,
> >> > Dan Yocom
> >> > _______________________________________________
> >> > Do not post admin requests to the list. They will be ignored.
> >> > Cocoa-dev mailing list (email@hidden)
> >> > Help/Unsubscribe/Update your Subscription:
> >> >
> >> > This email sent to email@hidden
> >> >
> >>
> >>
> >
>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden