Russian Qt Forum
Май 17, 2024, 02:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [MacOs] Несколько копий приложения  (Прочитано 6173 раз)
thor.0x00
Гость
« : Август 08, 2010, 18:46 »

В win оконное qt-приложение позволяет открыть свою вторую копию повторным запуском.
В маке не так - повторный запуск уже запущенного приложения не открывает новую копию, а переводит фокус на уже запущенное.
Как можно повторить поведение в win?

Один из способов который я нашел, это запускать через консоль:
Код:
open -a MyApp.app -n
А мне хотелось бы иметь такое поведение и запускать через значек программы, который лежит в /Applications.

Опыта у меня в маке очень мало, может быть я что-то упустил?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Август 09, 2010, 11:53 »

Непонятно причем здесь Mac если его поведение Вас устраивает. Повторить на др. платформе: поиск по форуму QSingleApplication
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3259


Просмотр профиля
« Ответ #2 : Август 09, 2010, 12:57 »

его НЕ устраивает
Записан
thor.0x00
Гость
« Ответ #3 : Август 09, 2010, 15:49 »

его НЕ устраивает
Верно. Мне надо, чтобы можно было запустить несколько копий приложения в macos
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Август 09, 2010, 18:15 »

Верно. Мне надо, чтобы можно было запустить несколько копий приложения в macos
Можно так, но опять-таки через консоль
Код:
MyApp.app/Contents/MacOS/MyApp &
Если так хочется - напишите маленький launcher. А вообще в Mac так делать не положено и никаких средств для "instances" нет. Если Ваше "надо" затеяно чтобы подавать имя документа/файла в командной строке - так оно этого не стоит, дешевле задействовать AppleEvent чем иметь проблемы с пересекающимися preferences и временными файлами.
Записан
thor.0x00
Гость
« Ответ #5 : Август 09, 2010, 20:23 »

не просто хочется, а приложение изначально разрабатывалось с возможностью запуска нескольких копий. Программа управляет девайсами на ком-порте, и для каждого девайса - отдельная instance.
Такой подход хорошо работает в windows, linux. А под маком я и не знал, что так не принято...
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Август 09, 2010, 20:47 »

не просто хочется, а приложение изначально разрабатывалось с возможностью запуска нескольких копий. Программа управляет девайсами на ком-порте, и для каждого девайса - отдельная instance.
Такой подход хорошо работает в windows, linux. А под маком я и не знал, что так не принято...
Я поддерживаю подобный проект - пользователь может запускать несколько копий и общаться с каждой через уникальный IP адрес (порт). Это решается созданием N копий приложения (включая все библиотеки и вспомогательные файлы). Пользователь отвечает за установку каждой копии и ее ID. Имеет то достоинство что неважно где установлены копии - 10 на 1 машине или по 1 на 10 машинах.
Записан
thor.0x00
Гость
« Ответ #7 : Август 09, 2010, 21:51 »

Не, у меня приложениям не нужно общаться друг с другом. Я просто хочу узнать, как macos сделать так, чтоб при запуске всегда создавался новый процесс.
По умолчанию, как я понимаю, она смотрит список процессов, и если находит с таким же именем - то переводит фокус на него. А если не находит - запускает приложение. Должна же быть какая-то возможность (указания компилятору, или в настройках проекта XCode)
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #8 : Август 10, 2010, 14:04 »

Не, у меня приложениям не нужно общаться друг с другом. Я просто хочу узнать, как macos сделать так, чтоб при запуске всегда создавался новый процесс.
По умолчанию, как я понимаю, она смотрит список процессов, и если находит с таким же именем - то переводит фокус на него. А если не находит - запускает приложение. Должна же быть какая-то возможность (указания компилятору, или в настройках проекта XCode)
Вряд ли. это не в духе Mac. До OSX (Mac Classic) этого вообще не было (как и командной строки) и в библии пояснялось почему.
Записан
thor.0x00
Гость
« Ответ #9 : Август 10, 2010, 14:20 »

Вряд ли. это не в духе Mac. До OSX (Mac Classic) этого вообще не было (как и командной строки) и в библии пояснялось почему.

Почему? Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 23.