Название: Как передать параметры приложению ? (Mac OS X и argc/argv) Отправлено: iamunix от Апрель 26, 2010, 01:27 Всем привет!
Возникла проблема - не могу передать параметры приложению... ( Код
При запуске в консоль будет выведен полный путь приложения, например - "/Users/fix/Codes/Qt/arguments/application.app". Приведенный выше код будет корректно работать если открыть терминал и, для данного примера, выполнить последовательность команд: Код: cd /Users/fix/Codes/Qt/arguments/ Допустим я пишу текстовый редактор и хочу открывать все txt файлы в нем. Поидее, в свойствах какого либо текстового файла (cmd + i) я должен указать "открывать с помощью". Теперь, при двойном клике на таком файле, система запустит мое приложение (argv[0]) и НЕ передаст ему путь к файлу (argv[1]). Каким образом можно передавать параметры графическому приложению? Заранее всем проявившим внимание - огромное спасибо =) Название: Re: Как передать параметры приложению ? (Mac OS X и argc/argv) Отправлено: Авварон от Апрель 26, 2010, 08:16 я слышал что в маке там есть спецэвент для этого, он же приходит при драгэнддропе на иконку в доке
см в креаторе, там есть нужный функционал Название: Re: Как передать параметры приложению ? (Mac OS X и argc/argv) Отправлено: Igors от Апрель 26, 2010, 11:48 На OSX application обычно "bundle" (можно посмотреть "Show Package Content").
1) Есть файл info.plist который компилятор поместит в bundle. В этом файле нужно настроить типы файлов которые данное app умеет открывать. Тогда Вы сможете "бросать" файлы на иконку app 2) Открываемые файлы не приходят в командной строке, вместо этого app получает appleEvent. Вам надо сделать AEInstallEventHandler и, поймав событие, извлечь из него файлы через AECoerceDesc. http://doc.trolltech.com/qq/qq12-mac-events.html (http://doc.trolltech.com/qq/qq12-mac-events.html) (хотя там надо рихтовать) |