AIR uygulamasına as2 swf yüklüyorum. dosya dosya yüklendiğinde düzgün çalışır. bayt yüklenen Ancak, bazı şekilde bozulmuşturLoader.load ve Loader.loadBytes farkları
var bytes:ByteArray = ... //loaded from resources
var loader:Loader = new Loader();
var context:LoaderContext = new LoaderContext(false);
context.allowCodeImport = true; //this is neccessary
// Method 1 - blocks some scripts in loaded SWF
//context.applicationDomain = new ApplicationDomain();
// (application domain has no effect with as2 swf)
//context.securityDomain = SecurityDomain.currentDomain; //gives error 2114: securityDomain must be null
loader.loadBytes(bytes, context);
// Method 2 - loads properly
//loader.load(new URLRequest(file.url));
Peki neden sadece dosyadan yüklemek (bu fare tepki, ancak bazı unsurlar etkin değildir)? Kaynaklarım şifreleme ile korunur ve onları diske atamam - hala korunmalıdır.
numaralı bayttan neye bayt yüklüyor olabilir?
similar question var, ancak benim durumumda 2 daha fazla soruna neden oluyor.
Cevabınız için teşekkürler. Dosyadan yüklendiğinde aynı AVM1 kodunun neden tamamen çalıştığını ve bayttan yüklendiğinde kısmen kırıldığını merak ediyorum. – alxx
Bunun nedeni, 'load' yönteminin SWF'yi bir varlık olarak ele alması ve bunu bir AVM1 örneğinde çalıştırmayı bilmesi,' loadBytes' yönteminin AVM1 bayt kodunu AVM2 bayt kodunuza enjekte etmesi, sorunlara neden olmasıdır. – gthmb
Belki bu doğru (sadece Adobe mühendisleri emin olabilir.) Her durumda, bu hata gibi görünüyor. Sorunu uzun bir süre önce AS2 SWF'yi (aynı işlevsellik farklı bir şekilde yaptı) yeniden çözerek çözdüm, doğrudan bir çözüm bulunamadı. – alxx