Apache flex 如何在我的flex应用程序的swfLoader中加载的swf文件内调用actionscript函数?

Apache flex 如何在我的flex应用程序的swfLoader中加载的swf文件内调用actionscript函数?,apache-flex,actionscript,air,Apache Flex,Actionscript,Air,我有一个swf文件sample.swf,它的actionscript类位于Main.as中。此Main.as中有多个声明为public的对象。例如,让我们考虑类MyDATA(MyDATA AS)中的对象MyDATA。< /P> 我正在使用swfLoader将此swf文件加载到我的AIR应用程序中。我想知道如何使用swfLoader.loaderInfo.content访问myData.func() 提前感谢……:) 我以前做过这个。我记不起数据的确切路径,但找到它的一种方法是使用flex中的调试

我有一个swf文件sample.swf,它的actionscript类位于Main.as中。此Main.as中有多个声明为public的对象。例如,让我们考虑类MyDATA(MyDATA AS)中的对象MyDATA。< /P> 我正在使用swfLoader将此swf文件加载到我的AIR应用程序中。我想知道如何使用swfLoader.loaderInfo.content访问myData.func()


提前感谢……:)

我以前做过这个。我记不起数据的确切路径,但找到它的一种方法是使用flex中的调试器。为加载程序添加一个Event.Complete事件,并在调用的Complete函数中添加一个断点。然后将swfLoader.loaderInfo.content添加到表达式监视列表中,并开始向下搜索以查找所需内容。记下路径并尝试在测试函数中调用它。

在init处理程序中,它应该类似于:

function myLoadHandler( e:Event )
{
    MyData( e.target.content.myDataInstance ).func();
}

其中
myLoadHandler
event.INIT
事件的事件处理程序(
COMPLETE
在加载所有字节时触发,
INIT
在SWF初始化且其成员可访问后触发),而
myDataInstance
是您的孩子SWF中的
MyData
实例的公开引用。

谢谢@gthmb。只是为了增加你有价值的信息。如果不是MyData(如果该类仅存在于swf中而不存在于flex中),则可以使用对象类型转换。我甚至尝试了这个对象(swfLoader.content).myDataInstance.func();它也起了作用。