Actionscript 3 :: Why Is Casting Object (null) Not Null
Mar 6, 2012
When you cast null to an object using Object(null), the result is an object.When you cast undefined to an object using Object(undefined), the result is an object.But saying null as Object or undefined as Object remains null.Why is this? I can't find anything in the documentation about this.
The objects that result from these casts can have properties set on and read from them. It's as if the cast created information, or removed whatever special information the null and undefined values have. But there's no indication in the AS3 documentation that the null and undefined special types are actually objects.
I am trying to create a custom object in AS3 to pass information to and from a server, which in this case will be Red5. In the below screenshots you will see that I am able to send a request for an object from as3, and receive it successfully from the java server. However, when I try to cast the received object to my defined objectType using 'as', it takes the value of null. It is my understanding that that when using "as" you're checking to see if your variable is a member of the specified data type. If the variable is not, then null will be returned.
This screenshot illustrates that I am have successfully received my object 'o' from red5 and I am just about to cast it to the (supposedly) identical datatype testObject of LobbyData:
I am trying to use the following code to convert an object read in from a ByteArray to an Array and store it:
var data:Object = ba.readObject(); var invObjects:Array = data as Array;
In debugging, I find that 'data' is indeed populated with the correct data and takes up memory and is in an Array friendly format. However, invObjects is NULL. How does merely saying 'data as Array' make the holding variable suddenly null?
the script i wrote is working fine. but the script attached to the flash player which i have no control over is throwing a script error (im using IE8).how can i fix this? if i run it locally there is no error.
I have the following piece of code(part of a much bigger program). I this code I am re-using a motion that has been previously used successfully. The trace stmts are used to identify the exact location of the error and the error conditions as best I can.[code]
I'm trying to retrieve that mediator on another page like so:
var navPageMediator:NavPageMediator = facade.retrieveMediator(NavPageMediator.NAME) as NavPageMediator;
However, that statement returns null. If I try to cast it using the NavPageMediator(facade.retrieveMediator(NavPageMediator.NAME)) syntax instead, I get a TypeError: Error #1034: Type Coercion failed: cannot convert com.website.mvc.view.page::NavPageMediator@237560a1 to com.website.mvc.view.page.NavPageMediator.`
I can't, for the life of me, understand why NavPageMediator@237560a1 would be unable to convert to NavPageMediator, nor what happened in between registering the mediator and retrieving it that caused this. Especially since trace(new NavPageMediator() as NavPageMediator); returns [object NavPageMediator].
Incidentally, and this may be part of my problem, I don't understand what the @hash at the end of the object is (@237560a1). Is it simply an internal identifier for that class instance?
Edit:Left a bit of important info: The SWF in which I instantiate and register the mediator is separate from the SWF in which I try to retrieve it.
If I set an Object = null, does that remove all references to the Object's variables assuming there are no external references to said variables? Or do I have to manually set all said variables = null?
I am trying to add an EventListener to a MC, but I am getting the 1009 error. My script is referencing a MC that does exist. I have verified that my code is typed correctly, and that my instance names are correct.I am creating a portfolio site. On the first frame I have my main navigation (well, it's actually not the first frame. I alpha-fade everything in so it's really the 6th or 7th, but I'm not sure how pertinent that is). The main navigation works fine (5 movie clips, fyi). Clicking them will move to a different frame, and the information and sub navigation for the frame will fade up. It is the sub navigation that I am having trouble with.[code]
As you can see, it doesn't even get to the function before it gets thrown off. I have verified that the instance names are correct. The script and the MC I am trying to add it too [I/]are[I/] in the same frame, which is what's stumping me. Normally you get 1009 when the object you're trying to reference is not there, but mine is!!Obviously there is something wrong with my EventListener. I am not sure what else do; there is a gap in my understanding of AS.
I have begun on a list: My reference is null!Stage is null! Convert this code from as 2 to as 3 for me! Crossdomain policies are in the way of my cool idea Dynamic property names I need to use stuff on the parent! I don't want my children to scale when I scale the parent! Classes vs instances. Mod note: I do not want this topic pinned, we will use a fresh topic once we have agreed to the content.
I have create a menu but when clicking on menu so that it shows, I get an error on the line because of the line "myMenu.show(null,null)". See function below:
private function createAndShowmyMenu():void { myMenu = Menu.createMenu(null, myMenuDataProvider, false); myMenu.labelField="@label"[code]........
sometimes I remove child and trace it afterwards and it outputs null although I havent yet set it to null, why is that? and do I need to set it to null also in that case?
I have an object which is assigned a number of properties:
var project_array:Array = []; var slideObject:Object = { project_title : myXML.projects.project[i].title.toUpperCase(),
[Code].....
but I'm not quite sure where to place this. If I place it outside of the object constructor, I get "term is undefined", I guess because it doesn't know what project_clips_array is - but if I declare project_clips_array in the constructor, it appears to need to be defined, i.e. I can't create a blank property. But I can't place it in the constructor either, because it doesn't seem to allow me to run a function within an object constructor. What is the proper syntax or arrangement of code for executing this function to get the array within the object?
I am getting this error, randomly when I start my application (and it's sub applications). As you can see the stack trace is rather useless, although through the debugger I can see the parent of container (second in the stack) is an MXML class that has a repeater that repeats another component. Therefore I guess the component with the problem is that repeated component, although I am unsure what I can change to stop this from happening. If anyone can give me some insight to the FocusManager or the getFocus() function it would be really handy.[code]
I'm doing a tutorial and I get this error about the "stage". I just copied the tutorial code.. what's missing ?
Code: TypeError: Error #1009: Cannot access a property or method of a null object reference. at ParticleDemo() at myFlashFile_fla::MainTimeline/frame1()
I am having some problem removing a null object and I realise that I have not been unloading my swf's properly. Could someone take a look at what I have been doing and tell me what I can do to make it better. I am putting my website in an exhibiton of my design work and if it lagged up due to all the clicking it would suck! so its important.
Code: aboutBtn.addEventListener(MouseEvent.CLICK, aboutLoad); function aboutLoad(e:MouseEvent):void { ldr.unload();[code]....
On the stage there's an empty clip called mc1in the library there's a clip called with the class name Ballnow every frame this functions is executed:mc1.addChild(new Ball())inside ball, at frame ten:this.parent.removeChild(this)so this creates a bunch of balls on the stage, but after a while this error shows up:TypeError: Error #1009: Cannot access a property or method of a null object reference.t Ball/frame10()Edit: ok by tracing Ball's name I understand that even though the Ball is removed it continues to exist somewhere?
[code]Is my code and when adding the backtostart function i always get the error if i remove the back and backtostart parts of the code it runs fine any help?
Why does this code not work? It seems to make the error:#1009: Cannot access a property or method of a null object reference. my buttons on the same frame have all stopped working,
import flash.display.MovieClip;import fl.containers.ScrollPane;scrollpane.content as MovieClip;MovieClip(scrollpane.content).gotoAndSto p("frameName");
I'm animating some mc's at the beginning of the timeline with AS3 (mostly alpha fades), but then I have some tweened animations further down the timeline and a "naviagation bar" that's on all frames, so a user can click a button and jump to a part of the timeline to see some other animations.My problem is that if I don't wait to see the programmed animations at the beginning and just clicka button to see the other tweened animations, I get an error:
"Error #1009: Cannot access a property or method of a null object reference. at flash_fla::MainTimeline/tube_glow2_animate()" (tube_glow2_animate() being the name of a function)
My movieclips are being nulled when moving between scenes, they are created on the stage and accessed through as3. I have login screen with three button, one logout, one exits the system and the other takes them to the next scene. When going back to the login scene, and trying to access movieclips like add eventlisterners etc... it comes back with null object reference, claiming that my buttons which are on the stage are null and sure enough if I debug they are. Any reason why my movieclips are being made null when moving between scenes?
there is a problem with IE browser it does not recognize object HTMLEmbedElement and not proceed for further execution . i have no choice because there is nothing to be updated in programming code
Here is the error:TypeError: Error #1009: Cannot access a property or method of a null object reference.at mx.styles:: StyleProtoChain$/ initProtoChainForUIComponentStyleName()[C:autobuild3.2.0frameworksprojectsframeworksrcmxstylesStyleProtoChain.as:72][code]......
Maybe you could school me in how to keep null object references out of complex Classes?