Bir nedenle, Worker
(AS3'te) paylaşılan bir özellik almayı denediğimde, sonuç her zaman sıfırdır. Ben getSharedProperty()
kullanarak, her zaman undefined
/null
döndürür almak o zaman, ben setSharedProperty()
kullanarak Worker
bir değer göndermek vardır. Ben message
iz zamanPaylaşılan özellik alınırken çalışan null alma
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);
}
}
}
, sonuç null:
Burada kurmak basit bir test. Ana amacım bir AIR uygulaması yapmak olsa da, AIR (3.7) veya Flash Player için (11.6, bir nedenle 11.7 geçerli bir sınıf olarak flash.system.Worker'ı tanımadığı için) derlerken aynı sonucu elde ediyorum. .
FlashDevelop aracılığıyla Flex SDK'yı kullanarak derliyorum. Neyin yanlış olduğunu bilen var mı, belki kodumda bir şey mi özledim?
Senin m ain problemi, ancak Flash 11.7 sınıflarını tanımayan problem, playerglobal.SWC veya derlenmiş olan SWF sürümü nedeniyle olabilir. Mevcut SWF sürümü 19 gibi görünüyor, 'Worker' işlevini içeren birini belirtmeniz gerekebilir. –
Ah, bunun için teşekkürler. FlashDevelop'u güncelledikten sonra (Flex ve AIR SDK'lerini de günceller), şimdi 11.7 için derler. Ancak asıl sorun devam ediyor. – puggsoy
_worker.setSharedProperty ("message", "test") 'öğesinin hemen ardından' trace (_worker.getSharedProperty ("message")) ekleyin. O zaman mülkiyeti alır mısın? Aksi takdirde, problemin daha önce başlayacağını belirleyebildiğimiz gibi, initWorker işlevini bile konuşmaya gerek yoktur. –