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

Reply via email to