swf をロードするアプリケーションがあります。サーバーに新しい swf ができるまで、その swf を数回使用できます。したがって、swf を含むローダーを SharedObject として保存したいと考えています。次回は、swf を再度ロードする代わりに、SharedObject のローダーを使用することができます (既に 1 回ロードされているため)。
そのために、私は次のことを行います。
var sObject: SharedObject = SharedObject.getLocal('PrefsObj');//my SharedObject.
registerClassAlias( "remoteSharedObject.NxLoader", NxLoader );//I register every time my custom Loader class which just extends from Loader.
if(sObject && sObject.data && sObject.data.loader)//I check if the sharedObject is empty? If not I get the previously saved loader.
loader = sObject.data.loader as NxLoader;
else//if it's empty I create the loader and load the bytes
{
loader = new NxLoader();
loader.loadBytes(swfBA,context);
}
this.addChild(loader);//add the loader.
sObject.data.loader = loader;//save the loader on my sharedObject for next time.
sObject.flush();//done.
私は何を間違っていますか?SharedObject 内のローダーは認識されず、オブジェクトとして提供されます。addChild メソッドに到達すると - ブーム! -> メイン スレッド (中断: TypeError: エラー #2007: パラメーターの子は非 null でなければなりません。)
ありがとう