Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Диалог выбора файлов и лимит времени выполнения скрипта (http://www.flasher.ru/forum/showthread.php?t=137842)

Dubinsky 23.03.2010 20:11

Диалог выбора файлов и лимит времени выполнения скрипта
 
Доброго времени суток.

У меня возникла такого рода проблема: имеется Zinc приложение, пользователю дается возможность скачать некий архив, приложение показывает диалог выбора места сохранения mdm.ShowFileSaveDialog() или как там его. Так вот пока пользователь роется у себя на системе у флеша срабатывает защита времени выполнения скрипта и он считает его зависшим. Вот как с этим надо по уму бороться? Неужели надо выставить во флеше время лимита скрипта на тысячу секунд? Не использовать такой способ копирования файлов?

alexcon314 24.03.2010 00:49

Хороший вопрос.
Увеличивать таймлимит - как вариант. 1000 секунд (1000/60=~16 минут) не многовато? Впрочем, нормальная программа должна ждать окончания выбора хоть неделю, с этим не поспоришь.
Средствами самого цинка решить этот вопрос трудно, насколько я знаю. Теоретически, можно написать расширение-длл, которая будет как-то сбрасывать внутренний счетчик плеера или не давать ему преодолеть 15-ти секундный предел. Но это требует исследований. И граничит с хаками рантайма плеера, что вряд ли можно назвать решением "по уму". Хотя.. может и получиться.
Еще вариант для исследований - сделать скрытую (за пределами экрана) дочернюю форму и в ней по таймеру делать mdm.Forms.MainForm.callFunction(), возможно, вызов колбека в главной форме как-то повлияет на ход событий.
Альтернатива - сделать флэшовый интерфейс выбора файлов для копирования.

Dubinsky 24.03.2010 19:24

Увеличить таймаут больше 60 сек. нельзя, несмотря на то что ввести туда можно 65535 сек. Значит не выход. На форуме Zinc эта проблема уже известна имеет высокий приоритет но пока не решена видимо. Выходит да, надо делать своё диалоговое окошко-браузер для поиска пути и ввода имени файлов, т.к. сделать дллку которая будет сбрасывать таймер флеш-плеера моими мозгами практически нереально. Ну в любом случае спасибо, теперь ясно в каком направлении идти.

wvxvw 24.03.2010 21:45

Кстати, был еще один вариант - захостить HTML компонент с <input type="file"/> и из него запускать диалог поиска. По-дурацки, кто бы спорил, но есть шанс, что прокатит. Нам похожую штуку пришлось сделать для сохранения файлов. Т.как если под виндой установлено в опциях просмотра скрывать расширение, а находчивый пользователь поменял имя файлу на что-то другое без расширения, то этот файл для нас будет потерян, т.как сохранится без расширения - в следующий раз, если мы его захотим открыть, то мы его не отфильтруем никак...

alexcon314 25.03.2010 00:30

Все-таки с таймером в скрытой дочерней форме, который дергает колбек в главной форме, я бы повозился. С компонентом ХТМЛ (mdm.Browser) тоже можно попробовать, да. А, еще можно зарядить в длл отдельный поток, который будет показывать диалог, не блокируя плеер... правда синхронизировать как-то придется... Короче, муторно.
Свой диалог на этом фоне кажется самым разумным решением.


Часовой пояс GMT +4, время: 11:58.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.