Flex/AS3 için dinamik bir alay çerçevesi geliştiriyorum ve özel/destek türleriyle (örneğin bir sınıf dosyasında {} paketinin dışında bildirilenler) sorun yaşıyorum.AVM2'de özel bir (destek) sınıfı alt sınıflandırma
ABC "dosyamda", örneğini PROTECTED_NAMESPACE sınıfı bayrağıyla ve PRIVATE_NS çoklu ile bildiriyorum. Aynı zamanda alt sınıfın olduğu sınıfla aynı ad alanını vermeyi denedim (örn. PRIVATE_NS ("ContainerClass.as $ 123")).
Hayır yaparsam yapayım, hep loadBytes sonra aşağıdaki hatayı alıyorum: Ben özel sınıfla aynı ApplicationDomain içine oluşturulan bayt kodu yükleme ile denemişlerdir
VerifyError: Error #1014: Class ContainerClass.as$123::PrivateClass could not be found.
(ı varsayılan olarak bir alt alan adı kullanmayı). Yüklemeden önce bir sınıf takma adını kaydetmeyi bile denedim (gerçi biraz gergindi).
Hiçbir şeyi unutuyor muyum yoksa sadece AVM'nin bir kısıtlaması mı?
Lütfen bunun ActionScript 3.0'da bunun yasal olmadığını bildiğimi unutmayın, bunun AVM'de gerçekten mümkün olup olmadığını arıyorum.
Düzenleme: işin ilgilenenler için bugüne kadar proje asmock ve sourceforge olduğunu.
Dinamik bir proxy framework geliştirdim ve iyi çalışıyor (paket sınıfları/arayüzler ile). Çerçevenin tek önemli özelliği, 'özel' sınıfların alay edilmesidir (paketin dışında beyan edilmiştir). –
Vay, o zaman gerçekten kontrol etmeliyim! Bunu standart AS3 yetenekleriyle yapmadığınızı mı varsayıyorum? –
Aslında, ben sadece Loader.loadBytes() kullanıyorum.Çalışma zamanında dinamik bir SWF/ABC oluşturma zor bölümdü;) –