传递有关FileReference Complete事件的信息

时间:2009-11-11 13:28:31

标签: flex actionscript-3 events

我需要使用FileReference传递一个字符串,或者在事件触发时将该字符串作为参数提供。为了清楚起见,AS3不允许你传递事件参数让我感到很恼火。

现在,我已经扩展了FileReference类以包含一个额外的变量。我试图让它编译,但它不会编译;我想我不知道如何正确导入这个类。如果你能告诉我如何正确导入这个类,那么我不会在编译时得到Error: Type was not found or was not a compile-time constant那么好。

这是扩展的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类,但我无法弄清楚如何进行事件调度,因为我需要响应Event.COMPLETE事件。如果您可以告诉我如何对此进行调度,它也可能有用。

请帮助我解决这个问题,并感谢所有参与者。 :)

1 个答案:

答案 0 :(得分:2)

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

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时相同的值。