我有两个项目,A
并且B
,引用一个库,MyExternalLibrary
. A
并且B
是.swf
s(两个不同的 AS3 项目)并且MyExternalLibrary
是.swc
. 当我的应用程序运行时,A
加载B
.
有一个Class
, MyLoader
,广泛MyExternalLibrary
使用B
。 MyExternalLibrary.MyLoader
加载.swf
我们服务器上存在的 s(我们不嵌入它们,因为它们是根据用户请求动态加载的)。
请注意,我们的服务器包含A
,B
以及.swf
我们要下载的所有 s。
现在,还必须在我们的服务器上A
加载一些s。.swf
因此,A
也必须使用MyLoader
in MyExternalLibrary
。因此,在A
中,我添加了对 的引用MyLoader
,以便在编译期间包含其二进制文件。我只添加了一个引用MyLoader
——我实际上并没有实例化或修改它。也就是说,在A
's 代码中的某处(B
加载之前),我有:
MyLoader;
我(显然)也导入了Class
。这确保了MyLoader
's 二进制文件将包含在A
's.swf
中。
只是MyExternalLibary.MyLoader
在A
breakB
的功能中引用MyLoader
-- 所有加载的.swf
sB
都不会cast
与其关联Class
,尽管它是 aMovieClip
并且具有所有正确的字段。此外,在调试器中,加载MovieClip
的 s 表明它们是正确的Class
. 例如,如果我加载 a .swf
,它将是 a MovieClip
; 此外,调试器声明它是 type B.mySwfs.MyClass
,但我不能。我相信罪魁祸首是。cast
B.mySwfs.MyClass
ApplicationDomain
请注意,注释掉那行代码会使所有内容都B
cast
正确。
如果有人对正在发生的事情有任何想法,我希望得到一些建议。我认为这个问题处理ApplicationDomain
自A
拥有 MyExternalLibrary.MyLoader
,并且我正在尝试将cast
aMovieClip
加载A
到 aClass
中B
。当我注释掉对 in 的所有引用MyExternalLibrary.MyLoader
时A
,B
现在拥有 MyExternalLibrary.MyLoader
,因此它能够转换为 in 中的类B
。这是我的预感!
谢谢,