demolaynyc 0 Report post Posted November 26, 2006 I have been having troubles with this but I found out a solution to this. The problem is to declare variables inside a function and retrieve its value from another function--but that doesn't work. Here is an example of the wrong thing to do: function firstFunc () { var aVariable = oneValue;}function getVariable () { trace (aVariable);} The trace would return (undefined) because it is undefined in that exact function. Solution: do not declare variables inside a function. If you have to, use _root.variableName instead of var variable Name Here's a sample code: function firstFunc () { _root.aVariable = oneValue;}function getVariable() { trace(_root.aVariable);} So, tell me what you think. And if there's a better alternative please do post it. Share this post Link to post Share on other sites
seec77 0 Report post Posted November 26, 2006 I'm not sure, but I think you can also do something like this: var aVariable;function firstFunc() { aVariable = oneValue;}function getVariable() { trace(aVariable);}I don't have Flash right now to test this, but I'm guessing it should work (it works in plain ol' Javascript, so I don't forsee a problem - it's nothing special to Flash, merely programming semantics). Setting the variable as a member of "_root" is OK, but not necessarily that "correct" programatically, and I think that this method is better. Share this post Link to post Share on other sites
demolaynyc 0 Report post Posted March 22, 2007 LOL. Wow, looking back to this it just shows how much of a novice I was at AS and this was pretty recent. Yep, your code should work. The best method is yours (declaring the variable outside the functions. Share this post Link to post Share on other sites
Quatrux 4 Report post Posted March 23, 2007 (edited) Another solution would be to use a Class for those kind of things, usually if you want other variables work in other function, you create a Class, so the basic example is: class MyClass { var $var1 = ''; function myFunction1() { $this->var1 = 'Value'; } function myFunction2() { return $this->var1; }}$MyClass = new MyClass;echo $MyClass->myFunction2(); // Value So you can access and manage all the variables using $this->var1; In fact, sometimes using a Class is very comfortable, to play with functions Edited March 24, 2007 by Quatrux (see edit history) Share this post Link to post Share on other sites
demolaynyc 0 Report post Posted March 24, 2007 Hey Quatrux, is that Actionscript or PHP? It looks to me like PHP. Well, it can be converted to AS easily anyway. wait, I noticed here: " $MyClass = new Database "why would you make a new "Database" rather than "MyClass"? JW Share this post Link to post Share on other sites
lonelym 0 Report post Posted July 9, 2007 Use the _root.NAMEOFVARIABLE so that you can grab it later on. Hope it helps.function myFunction1() { _root.this = 'Value'; } Share this post Link to post Share on other sites