5

何らかの理由で、(AS3 で) から共有プロパティを取得しようとするとWorker、結果は常に null になります。つまり、 using に値を送信し、WorkerusingsetSharedProperty()で値を取得すると、常に/getSharedProperty()が返されます。undefinednull

ここに私が設定した簡単なテストがあります:

package 
{
    import flash.display.Sprite;
    import flash.system.Worker;
    import flash.system.WorkerDomain;

    public class Main extends Sprite 
    {
        private var _worker:Worker;

        public function Main():void 
        {
            if (Worker.current.isPrimordial)
            {
                initMain();
            }
            else
            {
                initWorker();
            }
        }

        private function initMain():void 
        {
            _worker = WorkerDomain.current.createWorker(this.loaderInfo.bytes);

            _worker.setSharedProperty("message", "test");
            _worker.start();
        }

        private function initWorker():void 
        {
            _worker = Worker.current;

            var message:String = _worker.getSharedProperty("message");

            trace(message);
        }

    }

}

をトレースするmessageと、結果は null です。私の主な目標は AIR アプリを作成することですが、AIR (3.7) または Flash Player (11.6、何らかの理由で 11.7 は flash.system.Worker を有効なクラスとして認識しません) のどちらでコンパイルしても同じ結果が得られます。 .

FlashDevelop を通じて、Flex SDK を使用してコンパイルしています。誰かが何が間違っているのか知っていますか?私のコードに何かが欠けているのかもしれません?

4

1 に答える 1