Actionscript 3 如何在FlashBuilder中使用外部actionscript类(我想我知道)

Actionscript 3 如何在FlashBuilder中使用外部actionscript类(我想我知道),actionscript-3,class,csv,flash-builder,external-script,Actionscript 3,Class,Csv,Flash Builder,External Script,我正试图在Air应用程序中实现CSVLib,但得到的错误对我来说似乎完全不合逻辑 “1120:访问未定义的属性csv。” 及 “1120:访问未定义的属性completeHandler。” 我唯一能想到的是它没有正确导入csv类,或者类本身不知何故被破坏了?我知道我的导入路径是正确的,因为我是根据自动提示直接输入的。下面的代码是直接从csv库站点上的how-to wiki复制的 或者,为了让外部actionscript类在flashbuilder中工作,您需要做一些特殊的事情吗 <

我正试图在Air应用程序中实现CSVLib,但得到的错误对我来说似乎完全不合逻辑

“1120:访问未定义的属性csv。” 及 “1120:访问未定义的属性completeHandler。”

我唯一能想到的是它没有正确导入csv类,或者类本身不知何故被破坏了?我知道我的导入路径是正确的,因为我是根据自动提示直接输入的。下面的代码是直接从csv库站点上的how-to wiki复制的

或者,为了让外部actionscript类在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>

在这种情况下,问题出在其他地方。
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对象的完整处理程序中执行此操作。

在这种情况下,问题出在其他地方。
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对象的完整处理程序中执行此操作。

ah。。我认为,由于导入是在这种情况下导入的,所以脚本块就像任何普通代码一样播放。但是你说的有道理,而且有效!谢谢。啊。。我认为,由于导入是在这种情况下导入的,所以脚本块就像任何普通代码一样播放。但是你说的有道理,而且有效!非常感谢。