以下代码用于我命名为 FileUpload.mxml 的组件中,该组件用于 flex 应用程序的两个三个不同部分。
private var uploadURL:URLRequest = new URLRequest;
private var file:FileReference = new FileReference;
private var media:MediaFacade;
public function browse():void
{
var uUrl:String=""; // force
uploadURL=new URLRequest();
file=new FileReference();
configureListeners();
file.browse(getTypes());
}
private function configureListeners():void
{
file.addEventListener(Event.CANCEL, cancelHandler);
...
if (!Application.application.hasEventListener("uploadFileEvent")) {
Application.application.addEventListener("uploadFileEvent", uploadFile);
}
}
当它在第一个实例中使用时,它工作正常,但是当它在不同的部分中使用时,它会从下面的代码中得到以下错误:
错误 #2037:函数调用顺序不正确,或者之前的调用不成功。
private function doUploadFile():void
{
try
{
file.upload(uploadURL);
}
catch (e:Error) {
trace(e.message);
}
}
每次都遵循相同的顺序,即file=new FileReference;配置文件监听器(文件);文件.浏览();file.upload(uploadURL) 但仅适用于正在创建的组件的第一个实例。
任何想法,将不胜感激。
提前致谢。
安格斯。