2 つの swfs を次々にロードすると、不正なオーバーライドのエラーがスローされます。最初の swf は SDK 4.7 でコンパイルされ、2 つ目は SDK 3.5 でコンパイルされます。それらを別々にロードしようとしましたが、両方とも機能します。しかし、順番に、最初のものを削除した後、エラー #1053: Illegal override of activate in mx.managers.SystemManagerProxy. がスローされます。
public function App()
{
_fs.open(_installerDownloader,FileMode.READ);
var ba:ByteArray = new ByteArray();
_fs.readBytes(ba);
_fs.close();
context = new LoaderContext();
context.allowCodeImport = true;
context.applicationDomain = ApplicationDomain.currentDomain;
loader = new Loader();
this.addChild(loader); //required so that the loaded SWF has access to the 'stage' property
loader.loadBytes(ba,context); //run the loaded SWF within the security sandbox of this application
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
}
public function launchApplication():void
{
loader.addEventListener(Event.REMOVED_FROM_STAGE,launchMC);
loader.unloadAndStop(true);
this.removeChild(loader);
}
public function launchMC(e:Event):void
{
_fs.open(_installer,FileMode.READ);
var ba:ByteArray = new ByteArray();
_fs.readBytes(ba);
_fs.close();
context = new LoaderContext();
context.allowCodeImport = true;
context.applicationDomain = ApplicationDomain.currentDomain;
loader = new Loader();
this.addChild(loader); //required so that the loaded SWF has access to the 'stage' property
loader.loadBytes(ba,context); //run the loaded SWF within the security sandbox of this application
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
}
ありがとう、デビッド