如何在 FlashBuilder 中使用外部动作脚本类(我以为我知道)
Posted
技术标签:
【中文标题】如何在 FlashBuilder 中使用外部动作脚本类(我以为我知道)【英文标题】:How to use external actionscript classes in FlashBuilder (thought I knew) 【发布时间】:2011-01-30 20:31:35 【问题描述】:我正在尝试在 Air 应用程序中实现 CSVLib,但遇到一个对我来说似乎完全不合逻辑的错误。
“1120:未定义属性 csv 的访问。” 和 "1120: 访问未定义的属性 completeHandler。"
我唯一能想到的是它没有正确导入 csv 类,或者类本身以某种方式损坏?我知道我的导入路径是正确的,因为我是根据自动提示直接输入的。下面的代码是直接从 csv lib 站点上的操作指南 wiki 复制而来的。
或者你需要做一些特别的事情来让外部动作脚本类在 flashbuilder 中工作?
<fx:Script>
<![CDATA[
import com.shortybmc.*;
import com.shortybmc.data.parser.CSV;
var csv:CSV = new CSV();
csv.addEventListener (Event.COMPLETE, completeHandler);
csv.load (new URLRequest('example-2.csv'));
function completeHandler (event: Event)
trace ( csv.data.join('\r') );
// do something ...
]]>
</fx:Script>
【问题讨论】:
【参考方案1】:在这种情况下,问题出在其他地方。 fx:Script
标记在一个 MXML 文件中,代表一个类定义。
您的错误发生了,因为您在类定义中有代码(即在方法之外)。你可以这样写,例如:
<fx:Script>
<![CDATA[
import com.shortybmc.*;
import com.shortybmc.data.parser.CSV;
private var csv:CSV;
private function init ():void
csv = new CSV();
csv.addEventListener (Event.COMPLETE, completeHandler);
csv.load (new URLRequest('example-2.csv'));
private function completeHandler (event: Event):void
trace ( csv.data.join('\r') );
// do something ...
]]>
</fx:Script>
那么你需要确保init
方法被实际调用;您可以在 MXML 对象的完整处理程序中执行此操作。
【讨论】:
啊.. 我认为在这种情况下导入导入脚本块就像任何普通代码一样播放。但是你说的有道理,而且有效!谢谢。以上是关于如何在 FlashBuilder 中使用外部动作脚本类(我以为我知道)的主要内容,如果未能解决你的问题,请参考以下文章
FlashBuilder 4.6 或 4.7:如何提高 IPA (ios) 包的生成速度