открыть с помощью редактора по умолчанию и дождаться закрытия - PullRequest
1 голос
/ 25 марта 2011

мы разрабатываем приложение, которое должно открывать указанный файл с помощью редактора по умолчанию.(поэтому, если это .doc - предполагается, что он будет открыт MSWord или openOffice)

Но мне также нужно подождать, пока пользователь закроет редактор, проверить, был ли он изменен (по размеру и дате), изагрузить его на сервер.

Итак, следующие шаги: 1) найти редактор def 2) открыть файл 3) дождаться его закрытия 4) сделать что-то после этого с файлом.

теперь результатымоего исследования: -> просто открыть редактор def:File.openWithDefaultApplication ();но нет никакого способа узнать, что редактор закрыт (возможно, проверяя, что файл не заблокирован в таймере ???)

-> я могу запустить собственный процесс и передать файл, так как параметр НО выглядит как кодNativeApplication.nativeApplication.getDefaultApplication (file.extension);не работает для любого расширения :( - не работает для "rtf", "doc", но работает для "pdf" ... и [file.openWithDefaultApplication ()] отлично работает с любым файлом!

есть предложения?спасибо заранее!

Ответы [ 2 ]

3 голосов
/ 25 марта 2011

но нет способа узнать, что редактор закрыт

Правильно. Я не верю, что то, что вы хотите сделать, возможно с AIR. Как AIR сможет определить, открыт файл или нет? Возможно, вы захотите изучить использование NativeProcess ; но это будет зависеть от базовой ОС / программы по умолчанию, предоставляющей API, чтобы вы знали, когда программа была открыта и / или закрыта.

0 голосов
/ 25 марта 2011

Мое единственное предложение заключается в том, чтобы приложение Air не просматривало файл, а вместо этого показывало всплывающее окно с надписью «нажмите кнопку ОК, когда закончите редактирование файла», а затем загрузите его на основе этого.

Единственный другой способ, которым я могу думать об этой работе, - это если вы создаете оба файла .bat и .sh (как для Windows, так и для Mac / Linux; выберите один или другой в зависимости от операционной системы), который открывает нужный файл через NativeProcess (и, конечно, ставит «wait»), а затем прослушивает событие close.

...