如何从 AS3 Worker 访问父变量或包装器变量 Class
How to access parent or wrapper variables from an AS3 Worker Class
我正在使用 Flash Builder 4.7 并创建了一个 Worker Class。下面是代码:
package co.fuix.mobile.system.model
{
import flash.display.DisplayObjectContainer;
import flash.display.Sprite;
import flash.events.Event;
import flash.system.MessageChannel;
import flash.system.Worker;
import flash.utils.getDefinitionByName;
import mx.managers.SystemManager;
public class InstantMessengerWorker extends Sprite
{
private var bm:MessageChannel;
private var mb:MessageChannel;
public function InstantMessengerWorker()
{
super();
bm = Worker.current.getSharedProperty("BACK_TO_MAIN_CHANNEL");
mb = Worker.current.getSharedProperty("MAIN_TO_BACK_CHANNEL");
mb.addEventListener(Event.CHANNEL_MESSAGE, onMainToBack);
}
protected function onMainToBack(event:Event):void
{
if(mb.messageAvailable){
var s:SystemManager;
trace('*'+mb.receive());
trace('**'+mb.receive());
trace('***'+mb.receive());
trace(mx.core.FlexGlobals.topLevelApplication.myVariable);
}
}
}
}
如何在主 mxml 文件中引用变量。我知道如何使用消息通道,但我想直接获取该变量。
当我运行以上代码时,这部分
trace(mx.core.FlexGlobals.topLevelApplication.myVariable);
给我一个错误。
任何帮助将不胜感激
您不能像那样从主应用程序访问变量。他们分别是运行。您需要做的是:
我正在使用 Flash Builder 4.7 并创建了一个 Worker Class。下面是代码:
package co.fuix.mobile.system.model
{
import flash.display.DisplayObjectContainer;
import flash.display.Sprite;
import flash.events.Event;
import flash.system.MessageChannel;
import flash.system.Worker;
import flash.utils.getDefinitionByName;
import mx.managers.SystemManager;
public class InstantMessengerWorker extends Sprite
{
private var bm:MessageChannel;
private var mb:MessageChannel;
public function InstantMessengerWorker()
{
super();
bm = Worker.current.getSharedProperty("BACK_TO_MAIN_CHANNEL");
mb = Worker.current.getSharedProperty("MAIN_TO_BACK_CHANNEL");
mb.addEventListener(Event.CHANNEL_MESSAGE, onMainToBack);
}
protected function onMainToBack(event:Event):void
{
if(mb.messageAvailable){
var s:SystemManager;
trace('*'+mb.receive());
trace('**'+mb.receive());
trace('***'+mb.receive());
trace(mx.core.FlexGlobals.topLevelApplication.myVariable);
}
}
}
}
如何在主 mxml 文件中引用变量。我知道如何使用消息通道,但我想直接获取该变量。
当我运行以上代码时,这部分
trace(mx.core.FlexGlobals.topLevelApplication.myVariable);
给我一个错误。
任何帮助将不胜感激
您不能像那样从主应用程序访问变量。他们分别是运行。您需要做的是: