Следующий код используется в компоненте I, названном 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;configureFileListeners (файл);file.browse ();file.upload (uploadURL), но работает только на первом экземпляре создаваемого компонента.
Любые идеи приветствуются.
Заранее спасибо.
Ангус.