Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 传递有关FileReference完成事件的信息_Apache Flex_Actionscript 3_Events - Fatal编程技术网

Apache flex 传递有关FileReference完成事件的信息

Apache flex 传递有关FileReference完成事件的信息,apache-flex,actionscript-3,events,Apache Flex,Actionscript 3,Events,我需要在FileReference中传递一个字符串,或者在触发事件时提供该字符串作为参数。清楚地说,AS3不允许在事件上传递参数,这让我非常恼火 现在,我已经扩展了FileReference类以包含一个额外的变量。我试图编译这个,但它不会编译;我想我不知道如何正确导入这个类。如果您能告诉我如何正确导入这个类,这样我就不会再得到错误:在编译时找不到Type或者Type不是编译时常量,那就太好了 这是扩展的FileReference类: import flash.net.FileReference;

我需要在FileReference中传递一个字符串,或者在触发事件时提供该字符串作为参数。清楚地说,AS3不允许在事件上传递参数,这让我非常恼火

现在,我已经扩展了FileReference类以包含一个额外的变量。我试图编译这个,但它不会编译;我想我不知道如何正确导入这个类。如果您能告诉我如何正确导入这个类,这样我就不会再得到
错误:在编译时找不到Type或者Type不是编译时常量,那就太好了

这是扩展的FileReference类:

import flash.net.FileReference;

public class SxmFR extends FileReference {

  public var housenum:String = "";

  public function SxmFR(str:String) {
      housenum = str;
      super();
  }
}
我在同一个文件夹中的.mxml和.as中尝试过。两者都不是自动导入的

我还尝试扩展Event类,但我不知道如何进行事件调度,因为我需要响应
事件。完成
事件。如果你能告诉我如何让它在这方面的调度,它也可能工作


请帮我弄明白这一点,并向所有相关人员表示衷心的爱和感谢。:)

如果将事件侦听器添加为闭包,则可以访问当前函数中的变量:

function myFunction(): void {
    var aParam: String = "This is a parameter";

    dispatcher.addEventListener("eventName", function (e: Event): void {
        // you can access aParam here
        trace(aParam);
    });
}

函数中的
aParam
将具有与调用
addEventListener
时相同的值

哪种类型未找到或不是编译时常量?你能导入其他类吗?我能导入本地Flash类——我想问题是我真的不知道如何导入定制的外部类。SxmFR是未找到的
类型。我在几个地方实例化了该类型的对象,因为我想将housenum的值附加到该FileReference,对吗?文件名是
SxmFR.as
,但我没有在
包{}
语句中包含代码。有必要吗?是的,有必要。所有公共类都应该由适当的
包{}
语句包围。类路径的根文件夹中的类使用
package{}
,嵌套文件夹中的文件(例如:nested/path/File.as)使用
package nested.path{}
。。。这几乎奏效了。我使用for循环来迭代这个过程,但它似乎使用了在循环的第一个过程中最初创建的相同对象,因为它总是尝试将
aParam
的第一个值应用于同一循环分配的后续事件。你知道如何解决这个问题吗?如果你在数组
a
上循环,你可以使用
a.forEach
。这将为循环的每次迭代创建一个新变量。例如,请参见我对这个问题的回答: