我正在使用Flex Builder 3来构建一个相当大的项目。我正在忍受模块之间的相互碰撞和应用程序/模块之间的冲突。我的结构如下所示:
主应用|--应用2|--应用3|--应用3
(应用程序2是主应用程序的子项,而应用程序2和3是应用程序2的兄弟项,即应用程序2的子项)
在现实中,它比这复杂得多,但这是问题的起点。最后,我可以让树有四到五层深...如果能让它起作用的话。主应用程序文件由一个画布和一系列按钮组成。第二个应用程序包含一个垂直选项卡导航器,其中两个选项卡中有一个列表和一个树视图。应用程序3非常复杂,就像应用程序4中的事件日历一样。只要没有交互发生,一切都会加载并显示正常。查看模块2和模块3时,这两个模块都有ComboBoxes。第一个访问是正确的,但是第二个抛出错误,我认为这是沙箱冲突。我将应用程序2、3和4转换为模块,并使用ModuleLoader来引入它们并指定ApplicationDomain=currentDomain。现在,最后一个(现在模块)中的日历函数根本无法显示。我可以跟踪值并抛出警告框,这样我就知道它至少正在加载,但没有显示任何内容。作为一个测试,我剥离了这个模块,只包含一个标签" test“,它显示得很好,但是当我把它放到一个Canvas组件中时,什么也不显示。但是,如果我将该模块转换回一个应用程序,并使用SWFLoader加载它,它显示得很好,但我确信,只要我尝试引入另一个与它并行的应用程序,我就会回到开始的地方。我可以很容易地使用so.data和LocalConnections来回传递信息,但是如何将SWF作为应用程序加载并指定应用程序域?如果一切都以currentDomain的形式存在,并且运行良好,那将是一件很好的事情。
发布于 2011-01-26 13:34:37
我不确定我是否真的理解您的格式回复,但如果您的标题是准确的,您可能会发现the sample on this page是有帮助的。
https://stackoverflow.com/questions/4801540
复制相似问题