【发布时间】:2010-09-29 12:41:17
【问题描述】:
我正在玩一个 Flex 4 / Air 2 项目,它在运行时加载模块。我可以在我的模块中包含内部 MX 类并且一切正常(例如:import mx.controls.Alert)。
我也可以包含我自己的类 - 但是,仅当该类与模块位于同一文件夹中时。
例如:
<?xml version="1.0"?>
<mx:Module>
<mx:Script>
<![CDATA[
import mx.controls.Alert; // works
//import MyTestClass; // works if MyTestClass.as is in same folder as module
//import Classes.MyTestClass; // throws compiler error
]]>
</mx:Script>
</mx:Module>
文件夹结构:
.
|-- Classes
|-- MyTestClass.as
|-- Modules
|-- MyModule.mxml
`-- application.mxml
所以当我尝试编译我的模块时,在导入“Classes.MyTestClass”时,编译器会抛出以下错误:
“错误:定义类:MyClass 找不到”
我知道 Class 的路径是正确的,如果我将项目编译为应用程序而不是模块,则一切正常。
此外,如果我在父应用程序中导入“Classes.MyTestClass”,一切都很好。所以我想我错过了将这些类包含在模块中的编译器选项,但不知道是什么! 这就是我编译模块的方式:
mxmlc -静态链接运行时共享库=真 -load-externs=../obj/exclude.xml -isolate-styles=false ../src/Modules/MyModule.mxml
“../obj/exclude.xml”是来自“父”应用程序的链接报告。
任何人都可以帮助我了解我缺少什么吗?
【问题讨论】:
标签: apache-flex actionscript-3 air flex4