Многозадачность браузера — сбой

#apache-flex #flex3 #air

#apache-flex #flex3 #air

Вопрос:

Я пытаюсь работать с функцией browseForOpenMultiple внутри Flex, sdk 3.5, я пытаюсь выяснить ошибку. browseForOpenMultiple не вылетает каждый раз, но кажется, что я могу загрузить файл один раз, но когда я отправляюсь загружать второй файл, он вылетает при вызове функции browseForOpenMultiple. У кого-нибудь есть идеи о возможных причинах?

Обновить:

 private function browseForFiles():void 
{ 
  fileBrowser = new File(); 
  fileBrowser.addEventListener(FileListEvent.SELECT_MULTIPLE, filesSelected); 
  fileBrowser.addEventListener(Event.CANCEL, fileSelectionCancelled); 
  fileBrowser.browseForOpenMultiple("Select Desired Media File(s)", [(mode == "Media")? MediaTypes.getFileFilter() : MediaTypes.getVideoFilter()]); 
}
  

Комментарии:

1. Не могли бы вы показать нам код, который дает сбой?

2. частная функция browseForFiles():void { FileBrowser = новый файл(); FileBrowser.addEventListener(FileListEvent. SELECT_MULTIPLE, filesSelected); FileBrowser.addEventListener (событие. ОТМЕНА, fileSelectionCancelled); FileBrowser.browseForOpenMultiple(«Выбрать нужные медиафайлы», [(режим == «Медиа»)? mediaTypes.getFileFilter() : mediaTypes.getVideoFilter()]); }

3. Извините за недостаток информации, я вставил некоторый код, описывающий ошибку. Я тестирую внутри Flash Builder, и он не отправляется в отладчик, поэтому трассировка стека не возвращается. Он просто выходит из строя и сообщает «Приложение adl неожиданно завершило работу. Mac OSX и другие приложения не затронуты. бла-бла-бла»

4. еще один пункт, я добавил точку останова в конце своего кода. Он прошел мимо строки mediaTypes, вернулся к строке MXML, которая запустила браузер, затем окно adl начинает подпрыгивать и переходит к строке WindowedApplication для nativeWindow_deactivateHandler, как это запускается после завершения действия кнопки. Затем появляется окно сбоя.

5. @tcoulson Можете ли вы скопировать и вставить сообщения об ошибках, которые находятся в окне сбоя здесь?

Ответ №1:

Итак, код в нашем массиве расширений файлов зависал, когда в массиве было более 60 элементов, перечисленных в массиве, который преобразуется в строку для FileFilter. Возможно, это не является пределом Adobe, но я хотел бы упомянуть, что сбой исправлен, чтобы другие, у кого могут возникнуть проблемы с browseForOpenMultiple, знали, в чем причина этой проблемы. Это не тот код, который я изначально написал, поэтому я проверю его для получения дополнительных подсказок, но на данный момент слишком много элементов массива, объединенных в строку для объекта FileFilter, вызвало сбой.

Ответ №2:

Это может быть то, как он создает файл, без реальной ссылки на файл.

Попробуйте что-то вроде этого :

 var fileBrowser = File.desktopDirectory