好的,我在这方面需要一些帮助。我从 Flash Builder 4 升级到 Flash Builder 4.5,并将我的项目切换到 4.5.1 sdk。我使用 ant 脚本来构建我的项目,因此我对其进行了修改以使用适当的 flexTasks.jar、mxmlc 等...
现在,如果我从一个空白的 bin-debug 文件夹开始,然后构建并运行应用程序,一切正常。但是,如果我随后进行代码更改并构建(不删除 bin-debug)然后运行应用程序,则会出现运行时错误:
ReferenceError: Error #1065: Variable ... is not defined.
at flash.display::MovieClip/nextFrame()
at mx.managers::SystemManager/deferredNextFrame()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\SystemManager.as:284]
at mx.managers::SystemManager/preloader_preloaderDocFrameReadyHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\SystemManager.as:2633]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.preloaders::Preloader/timerHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\preloaders\Preloader.as:515]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
同样,如果我删除 bin-debug 文件夹并再次编译,它就可以正常运行。
它抱怨的变量始终是一个类变量,它指向用作图标的图像文件。我用来创建 var 的代码:
[Embed(source="/assets/icons/close-32x32.png")]
public var closeIcon:Class;
该文件存在,并且我验证了当它给出该错误时,该文件位于 bin-debug/assets/icons 文件夹和 src/assets/icons/ 文件夹中。
抛出错误后,如果我点击 Flash Builder 中的继续按钮,它会在下一个指向图像文件的 Class 变量上再次抛出相同的错误。
有任何想法吗?删除/重新编译需要几分钟,所以显然这让我发疯。
编辑:在调试模式下编译的 Ant 任务:
<target name="compile-debug">
<echo>Compile MXML</echo>
<mxmlc
file="${SRC_DIR}/${MAIN_SOURCE_FILE}"
debug="true"
optimize="false"
output="${DEBUG_DIR}/${APP_ROOT_FILE}"
append="true"
actionscript-file-encoding="UTF-8"
keep-generated-actionscript="false"
link-report="MyReport.xml"
maxmemory="2048m"
incremental="true">
<!-- Get default compiler options. -->
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
<load-config filename="${FLEX_HOME}/frameworks/air-config.xml"/>
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<source-path path-element="${FLEX_HOME}/frameworks"/>
<!-- Include Themes -->
<!-- NOTE: Spark theme required -->
<theme dir="${FLEX_HOME}/frameworks/themes/Spark/">
<include name="spark.css" />
</theme>
<theme dir="${FLEX_HOME}/samples/themes/spark_graphite/">
<include name="spark_graphite.css" />
</theme>
<!-- List of SWC files or directories that contain SWC files. -->
<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
<include name="libs" />
<include name="../bundles/{locale}" />
</compiler.library-path>
<!-- uncomment if you have external libs (swc files) -->
<library-path dir="${LIB_DIR}/riaspace/" append="true">
<include name="*.swc" />
</library-path>
<library-path dir="${LIB_DIR}/AlivePDF/" append="true">
<include name="*.swc" />
</library-path>
<library-path dir="${LIB_DIR}/coltware/" append="true">
<include name="*.swc" />
</library-path>
</mxmlc>
</target>
其中 FLEX_HOME =/sdks/4.5.1