I’m working with an fla, an as file(document class), and a jsfl file. the swf is generated in the WindowSWF folder (e.g. $flash/WindowSWF)
I have a simple windowSWF and I’m using MMExecute and fl.runScript to pass variables from as3 to jsfl. I didn’t imagine I would run into trouble if I would use objects though.
In my windowSWF I have a DataGrid called settingsGrid with the following columns:
[“prefix”,”suffix”,”type”]
and I’m tring to pass settingsGrid.dataProvider.toArray() to the jsfl script.
The problem is it comes out as undefined on the other side. Any hints on how I can get around that ?
The short version: How can I pass an array of objects like {prefix:”value”,suffix:”value”,type:”value”} from actionscript to jsfl. Passing single objects works, I get an error when I pass an array:
"Syntax Error: missing ] after element list"
My function call looks like this:
MMExecute('fl.runScript(fl.configURI + "Commands/LazyGen.jsfl","generate","_",'+ settingsGrid.dataProvider.toArray() +');');
and the signature for the method in the jsfl file looks like this:
function generate(prefixArg,settingsArg){}
I’m passing objects from a Data Grid to JSFL. The objects have the following properties:
key, replacement and type. Here is the function I’ve used to construct a string I could pass in JSFL from actionscript:
I noticed settings in the SWF weren’t magically saved somehow, so I used local SharedObject to store the settings from the dataProvider. I guess I could have just wrote a file using FLfile, but I didn’t want to keep converting arrays to strings and back. I’m writing a the dataProvider’s array ( dataProvider.toArray() ) to a ByteArray that I just read back and shove in into the constructor of a new DataProvider when I need it.