Flex :: Object Doesn't Look Up Scope Tree For Variables?
Aug 4, 2009
I have a simple object defined by an object literal, and have a couple functions assigned to this object. Inside the functions, I try to access global variables, and it only gets undefined. The Flex debugger tells me the variables are just right up the scope tree.Yes, I know I can access Thing by using 'this', that doesn't solve my scope issue though.Project Flex Compiler Settings: Flex SDK 3.4, Require Flash Player 10.x.Example:
I have couple of questions about AS3 variables handling by AVM/compiler/scope .1. This code in Flash will throw an error:
[Code]...
but it won`t throw an error in Flex (only warning in Editor). Why?.2. How Flash sees variables in loops? Apparently this:
[Code]....
isn`t equal to just: var mc:MovieClip=new MovieClip(); var mc:MovieClip=new MovieClip(); because it will throw an error again as earlier in Flash, but in Flex in function not? Is Flash changing somehow my loop before compilation?
.3. Where in a class in equivalent to timeline in Flash - where in class I would put code which I put normally on timeline (I assume it is not constructor because of what I have written earlier, or maybe it`s a matter of Flash/Flex compiler)?
I am attempting to create a Flash5 menu tree, following the Flash4 tutorial at this [URL] I have created the two MC's (a "topMenu" and a "subMenu"). However, when I place the two MC's on the first frame of _root , the properties of the associated buttons get screwed up if I place the two MCs in a verical alignment. It appears that Flash5 makes a consolidated object, such that the _height property for the second MC is determined by adding the _height property of both MCs.
1. Could you confirm that this is what's taking place? 2. Is there a way to use Scope to eliminate the problem? 3. Other recommendations?
NOTE: if you move the lower MC out to the side, the problem disappears. Although a workaround, this seems to be a poor way for the program to function.
i'm creating a reusable flex tree component. And i would like to stick in the itemclick funtion. So that when a user clicks anywhere on one of the tree's Branches. the branch expands.My problem is that i don't know how i can get the listener function to fire.What i would like to do is create the tree completely in as3. (no mxml). Normaly i set the itemClick on tree in the mxml. but i want to do this in as3. My component has alot more functions in it but i have deleted them so that it becomes easier to read. I Thought if i override the createChilderen function and add the eventlistener in there, that i would work. But no luck.
i gave the tree an ArrayCollection as dataprovider that i pulled from the database, and it contains the children, but the discloser icon wont disappear on an object that doesn't have a child.i think the problem is that the renderer doesn't recognize the leaf child, wich contains a children array of length 0, or null......
I have a tree with nodes , and a delete button , first user select the node and click this delete button , I want this node to be removed from the tree , Its not XML , every node in tree is of type Object
{label:'folder',children:[{label:'file1'}]}
I tried delete myTree.selectedItem (but compiler wont let me do it) also tried myTree.selectedItem = null (just unselects the item)and also how can I access reference to parent object of myTree.selectedItem ?
I'm trying to make a Flex Tree Component display the children of a sprite in a hierarchical way. Moreover, dragging the items on the FlexTree would resort and reparent the items. I have special Elements set as Folders. This would allow other elements to be added there as a children by dragging an element on the tree and dropping it there. I have a failed attempt which works, but breaks when I try to add folders. Basically, it fails at reparenting the items by dragging and resorting folders and that Does anyone know of a component or something which can do this, has anyone have created any of this or could anyone give me a clue?
I have an array of items that should be selected in my tree control. As you can see from my code below, I bind this array to the selectedItems property of the tree. If the selectedItems are toward the top of the tree, then the selection works just fine. However, if the items are toward the bottom of the tree, Flex seems to "ignore" my items (selects nothing).
public function expand_tree(selectedItems:Array):Array { category_tree.validateNow(); for each (var item:* in selectedItems) {
By default, the iconFunction of List and Tree return only Class as the icon, which is for embeded images or iconUtility kindly provided by this site http:[url]...... It works very well with pre-created images.But what I really want is to accept a completely runtime generate sprite object, similar to what is done by Legend, with the color changes according to what the current status. I assume I could do something to make the ListBase to accept icon argument other than Class.
I have numerous objects, many of them are stored within other objects (and overlap in physical space). As I zoom into an object, it begins to fade away. At the moment it begins to fade, I load in the child object (or create a child object if one doesn't exist). I want to turn off the parent object's ability to respond to most events. The exception is the scroll wheel, which needs to be sent to both objects simultaneously so that the parent can continue to fade out as I zoom farther in. Try as I might, I can't find a way to tell Flex "hey, for right now dispatch these types of events ONLY to this object." I either end up with event dispatch stack overflows from trying to manually redirect the events, or I get events that don't activate at the correct time or on the correct object. What can I do?
I am working on Air application,i had a problem on Tree control.Iam adding nodes for the tree dynamically, while adding nodes to the tree i am setting Tree.selectedItem as present added node. after that i need to fire Tree.itemClick event handler method also.how can i call event handler method as a common method. in Flex3
This is a situation: i have a index.swf in which i have holder movieclip in which i load gallery.swf (where i load pictures in it's holder mc). The thing is i used _root in gallery.swf so when i publish it separately it works, but it doesn't work within index.swf. I suppose there is a scope problem where _root adresses _root timeline of index.swf instead of gallery.swf when index.swf is published and gallery.swf loaded inside. I tried to solve this by putting: Code: this._lockroot=true; inside of gallery.swf but now my Flash 8 player just freezes when index.swf is published and gallery.swf loaded into it but i have no idea why? What would be other solution for this problem?
In the first function homeL adds the 'restMenu' text field when it's called. In another function the hideTarget method is called and it checks to see if the objects name is "instance5" which is the name of homeL. Is there a way to link an objects name to the object because I get :
I am using the Flex Builder 3 debugger almost every day and it's starting to be a real pain that the 'Variables' tab in the 'Flex Debugging' view doesn't show local variables, only 'this' is displayed.
Also I can not add Watch Expressions for local variables.
Am I forgetting something here or is the debugger just very limited?
I have a Debug class I've written, and I'd like to include a static trace() method in there, unfortunately I have no idea how to then access global / top level trace as effectively I've blocked it with the local static scope.[code]
I'm working on writing a tweening class in as2 that has a callback variable and I can't seem to find a good way to get the scope without specifically passing in a scope variable as well. This tweening class needs to work in classes as well as on the timeline. Here's what my codes looks like right now.params.scope[ params.onComplete ]( params.onCompleteParams );params is an object passed into the class. This works but I don't want to have params.scope in there.
know if the index effect the scope of an object because I am creating a game and for some reason, I get an error like below
TypeError: Error #1009: Cannot access a property or method of a null object reference. at com.objects::Torret/updateObject() at com.objects::EngineApi/loop()
[Code].....
updateObject is the loop for all my objects. I have one centralized loop and in that loop it calls on an array of objects that have been placed on the stage. all of them containing the method updateObject. to update the status of the object. addGameChild() is a encapsulated addChild() , that not only adds the object to the stage, but places it in a array so it's updateObject() method can be called on. it is also used to make it easier for garbage collection.
You will find enclosed a ".zip" file in wich there's a ".fla" file, a ".txt" file and 6 ".jpg" images. Frame 1 of the FLA only has a "Preload" class/constructor found on another site and works well. Frame 2 launches the graphic interface construction. The file "externalVar.txt" has one variable "maxVin" with a value of 6.
I would like to know WHY i can't acces this variable from outside of the loadVars object's scope (i would better say from outside of its ".onLoad" methode scope). In fact, when i trace my variable "maxVinNum" from outside of this function, flash player return "undefined". Even if i declare "maxVinNum" on the _root (_root.maxVinNum). For information, at the start of frame 2, i have let an instruction in comment: //var maxVinNum = 6; When we activate this instruction, then the variable is directely declared and everything works well. This test allow us to verify that scripts are not bugged. Here is the script of frame 2, some of you may understand quickly what's wrong :
-In the constructor of a separate class named "Vec", I call testFunction in the AppMethod object by:
NameSpace.AppMethod['testFunction']();
-After I create an instance of Vec, flash traces the AppMethod object. I thought it would trace the Vec object? At least that how it worked in javascript. The keyword "this" doesn't change scope in Actionscript 3? Is there a keyword that will trace the Vec object instead of the AppMethod object?
I have a list of strings that I add to an array, then attempt to set those values in a for-loop using data that I read in. The array gets updated, but the values the array contains do not. I also have an array of buttons that I update this same way that works great, but strings don't seem to work the same way. I have tried moving the string array to give it full scope, and still nothing...
public class test extends Sprite { // Declare a list of strings protected var title0:String = undefined;
If you once run an ObjectBuilder the object instantiated will be cached and next time you use an PropertyInjector or something else, the instantiated object will be used instead of creating a new object. Or at least this should be like this :) But in the example below it seems that mate tries to instantiate the object again: The following error occurs:
i need to make for a community a flash tree structure,everytime a user posts a message i must generate more tree brances and Tree Leaves..i include a image..
I am creating an interface that has a few different states for the different steps. For those steps, there is data that I am pulling in from a database to fill certain fields. As of right now I am doing one db query to get all of the data back and want to fill in all of the fields at the same time but it is giving me "access to a null object reference".
It seems as though there is a scope issue when you are trying to access a text input field with actionscript when the state that the text input is in, isn't the current state.For Example (This would throw a "Null object reference" error):