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