Thank Muzac,
I have tried your code but still a trace for myTxt.length outside the
functions returns '0', (quite apart from my being totally flabergasted
by the delegate thingo < :-(
I am creating a whole set of variables some of which are based on the
content and properties of myTxt array and I have a script that creates
text fields and relative buttons dynanically usign the same
elements/properties but the loadVars still completes after the init()
function thus invalidating all my variables.
Cheers
JohnT
Muzak wrote:
That's because you're probably expecting Flash to wait between:
myMenuData.load() and trace(myTxt[3])
which it doesn't.
Loading data is asynchronous.
If you need something to happen when data has loaded, call another function
from within the onLoad event handler.
import mx.utils.Delegate;
var myMenuData:LoadVars;
var myTxt:Array;
var myFile:String = "../textFiles/menuLabels.txt";
function doWickedStuff():Void {
trace("Application ::: doWickedStuff");
trace(this.myTxt[3]);
}
function menuDataLoadHandler(success):Void {
trace("Application ::: menuDataLoadHandler");
if (success) {
this.myTxt = this.myMenuData.myVar.split(",");
trace(this.myTxt[3]);
this.doWickedStuff();
} else {
trace("Could not get data");
}
};
this.myMenuData = new LoadVars();
this.myMenuData.onLoad = Delegate.create(this, this.menuDataLoadHandler);
this.myMenuData.load(this.myFile);
regards,
Muzak
----- Original Message -----
From: "John Trentini" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Monday, May 28, 2007 4:22 AM
Subject: [Flashcoders] loadVars not initialising first
Hi there,
(my second try at this, I was really hoping on some help with this one)
I am sure this has an easy answer but i can't get my head around it.
I have even put the code into an #include file to see if it would init the
loadVars before anything else but, no luck..
On Eric's early suggestion I have placed the .load aftert the onLoad function
but that did not resolve my problem.
I am getting data from an external text file and using the information tobuild
a menu with the following:
//
var myMenuData = new LoadVars;
var myTxt:Array = new Array();'
//
myFile = "../textFiles/menuLabels.txt";
myMenuData.onLoad = function(success) {
if (success) {
trace("LoadVars loaded successfully: "+this.loaded); <==this one returns =
true
myTxt = this.myVar.split(",");
trace(myTxt[3]); <==this trace returns the correct value
} else {
trace("Could not get the data");
}
};
myMenuData.load(myFile);
trace(myTxt[3]); <== this trace returns undefined
I am unable to get the info out of the load function, what am i doing wrong?
How can I make the info persistent?
Thanks
JohnT
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com