类型强制对同一类失败

时间:2010-07-01 00:27:10

标签: flex

我有一个主应用程序(app.swf),它加载一个模块(profiles.swf),而profiles模块加载另一个模块(member_profile.swf)。在member_profile中,我从服务器端获取成员数据,其中返回了Member类型的对象。返回的对象包含一个名为Jobs的数组,其中包含MemberJob类型的对象。在member_profile模块中,有一个函数采用MemberJob类型的参数来显示作业详细信息。我有一个循环,通过返回的数组并调用每个数组项的函数,如下所示:

for(i = 0; i < member.Jobs.length; i++)
     addJob(member.Jobs[i]);

我在addJob行收到错误:

类型强制失败:无法将components.classes :: MemberJob @ 19107d81转换为components.classes.MemberJob。

我总是在第二次加载member_profile模块时收到此错误。我的意思是当我从配置文件模块中单击成员的名称时会加载此模块,该模块将此名称作为子模块的参数加载,以加载该成员的配置文件,包括其作业。因此,如果我选择查看成员“X”的配置文件,则加载配置文件时没有任何错误,但如果我然后单击成员“Y”(这会导致子模块重新加载新参数)然后我得到类型强制错误。如果我反过来单击“Y”然后“X”同样发生,第二次加载时出错。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:9)

重新阅读Module Domains上的“Flex帮助”部分,并确保已将components.classes::MemberJob类导入正确的域。

编辑:

尝试将以下内容放在主应用程序文件中,看看它是否有所作为:

import components.classes.MemberJob;
private var memberJob:MemberJob;