Просмотр полной версии : AIR 2.0 и функция file.openWithDefaultApplication()
Здравствуйте!
Если кто-нибудь знает, подскажите, пожалуйста. При использовании AIR 2.0 и функции file.openWithDefaultApplication() - если в ОС назначена программа для такого типа файла, все открывается, если расширение файла попадает в список запрещенных, то я ловлю ошибку и вывожу окно с предупреждением. А вот если файл не запрещен, но ОС не знает чем его открыть, хотелось бы вывести стандартное окно операционки, где пользователь выбирает программу для открытия. Это возможно сделать?
А вы не допускаете возможности, что в операционке такого окна может не быть? AIR работает не только под виндой.
В виндовсе assoc команда это делает.
http://pcquest.ciol.com/content/linux/handson/299060101.asp
Вот тут в принципе правильно описано про Линукс, не взирая на КДЕ вс Гном и т.п. А вот как получить список всех возможных приложений... я не знаю... да и нет такого на самом деле ни в одной системе. Про маки - не знаю. Солярис - в жизни никогда не видел, но я думаю, что количество пользователей AIR на этой платформе ничтожно мало :) (я знаю только одного).
Помимо вышеперечисленного, есть еще Android, скоро выйдет поддержка в QNX. Зачем кроссплатформенное приложение привязывать к конкретной операционке?
Ну а что делать, если нужно, а во фреймворке не предусмотрено? Я вот сейчас мучаюсь придумываю пути получения изображения с передней камеры на андроиде... Да и вообще приложения для мобильников они как бы "условно кроссплатформенные". Их все равно отдельно компилировать, с другими настройками, так уж не грех и какой-нибудь CONFIG::android { . . . } добавить.
Спасибо за ответы!
Просто я надеялся, что раз разработчики AIR создали такую функцию как openWithDefaultApplication(), то они, наверное, подумали о возможном поведении пользовательского приложения, при попытке открытия файла неассоцированного ни с одной программой.
И что получается можно делать в таких случаях, просто выводить Alert.show("Нет подходящей программы для открытия") и все? И ничего более?
Можно прикинуться веником и отдать файл открываться дефолтному браузеру :) может он найдет адресата :)
Что-то я опять не знаю что делать. ОС Mac OS и Linux, если не найдено приложение с помощью которого можно открыть файл пораждают исключение, я его перехватываю, выдаю окно с предупреждением - ок. Но что делать с Windows, в документации по openWithDefaultApplication() написано: в Windows попытка открыть файл, с которым не связано ни одно приложение, заканчивается неудачей, при этом не выдается исключение. Т.е. в моем приложении просто не делается ничего. Этот момент как-то можно отловить/урегулировать?
Добавлено через 2 часа 54 минуты
И вообще можно ли засечь открыт ли в данный момент файл, есть ли к нему обращения из внешних прог?
И вообще можно ли засечь открыт ли в данный момент файл, есть ли к нему обращения из внешних прог?
Если файл заблокирован какой-нибудь программой, то при попытке записать в него вывалится исключение.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.