Hi,
More of a strange encounter that I would like to share / get some
input on than something I need to fix this one...
I have recently encountered an issue where I am getting null for the
stage property of a Sprite subclass in it's event handler for
ADDED_TO_STAGE. I have managed to work-around the problem, but have not
addressed the core issue I think.
My app has states for operation and uses an XML socket to communicate.
States are: NORMAL, ADMIN and ERROR. ERROR means the XML socket has
disconnected, the other two states just have different levels of access
control. Each state has a corresponding AppScreen subclass, some
containing lots of the above Sprites.
I can go into my ADMIN state from the ERROR state, but when the
Admin screen was added to the stage it tried to send something via the
XML socket class which sent an Error event to the App and resulted in
the application switchin back to the ERROR state. The Admin screen
contained lots of the Sprite subclasses with the ADDED_TO_STAGE handler,
but it seems that stage property of the Sprite subclass was actually
null'd between the calling of the event and the accessing of the "stage"
property and I end up with an exception in my Sprite subclass, e.g.
protected function _addedToStageHandler(e:Event):void {
//This would throw an exception because the stage is null at
this point?
///... some setup code, then:
stage.addEventListener(MouseEvent.MOUSE_UP,
_stageMouseUpHandler, false, 0, true);
}
So any ideas why this would happen? Is it because I am calling send on
the socket which is an OS level thing and outside the normal Flash
Player thread of execution, or am I fantasizing here? I have worked
around the problem which does flag an error when commands are sent to
the disconnected socket (I still catch the exception, but listen for the
error in a different place).
Thanks for any insights.
Glen
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders