Search code examples
actionscript-3actionscriptparametersloaderinfo

Getting swf boolean parameters


I have a swf that I call as

/SWFUploader/upload.swf?single=true

Then in ActionScript 3 I read in the value. But it's not working. Here's my test code (the first block is taken from http://blogs.adobe.com/pdehaan/2006/07/using_flashvars_with_actionscr.html ):

var keyStr:String;
var valueStr:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (keyStr in paramObj) {
    valueStr = String(paramObj[keyStr]);
    trace(keyStr + " = " + valueStr);
}

var isSingle:Boolean = this.loaderInfo.parameters.single as Boolean;
var isSingle1:Boolean = this.loaderInfo.parameters['single'] as Boolean;
var isSingle2:Boolean = LoaderInfo(this.root.loaderInfo).parameters['single'] as Boolean;
var isSingle3:Boolean = LoaderInfo(this.root.loaderInfo).parameters.single as Boolean;
trace(isSingle + ", " + isSingle1 + ", " + isSingle2 + ", " + isSingle3);

And frustratingly this is the resulting two lines that are traced:

single = true
false, false, false, false

What am I doing wrong?


Solution

  • In ActionScript not empty and not null String is casted to Boolean true.

    var singleStr:String = this.loaderInfo.parameters.single;
    var singleBool:Boolean = singleStr == "true";