Mac OS X Компонент объектной модели эквивалент - PullRequest
3 голосов
/ 06 августа 2010

Я пытаюсь перенести приложение, написанное в Qt, с платформы Windows на платформу Mac OS X.

Приложение относительно простое: оно запрашивает у пользователя документ (либо MSWord, или документ OOo Writer).Затем он запускает этот документ внутри соответствующего приложения, а затем заменяет различные текстовые элементы другими данными (Think Mailmerge).Он запускает приложение и выполняет замену текста, используя QAxObject, который является оберткой для COM.

Теперь я хочу перенести это на Mac OS X. Я установил Qt Creator на Mac и т. Д.,но, безусловно, COM - это техника для Windows, недоступная в Mac OS X. Поэтому я искал методы для Mac OS X, которые похожи на COM.

На данный момент меня особенно интересуетиспользуя OOo API http://api.openoffice.org/.

Я хотел бы получить несколько указателей, на какие приемы мне следует обратить внимание.Я также готов признать, что это просто невозможно вообще.

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 21 мая 2012

Немного информации о COM на OS X доступно в этой статье 2004 года от Mac'evCenter О'Рейли.


Однако из описания вашей проблемы вы ищете что-то, что работает с Apple Events. Apple разработала целый язык для работы с Apple Events, поэтому большинство людей приравнивают их к этому языку - AppleScript. Возможно, вы захотите начать изучение области сценариев GUI-приложений с изучения AppleScript или Apple Events.

У каждого приложения с прямым сценарием есть «словарь» из «глаголов» и «существительных», которыми вы можете манипулировать. Существительные имеют свойства, а имя свойства часто является либо строкой, либо именем другого существительного (или множественного числа существительного, что подразумевает коллекцию - массив).

Если приложение не имеет словаря (т.е. оно не поддерживает скрипты) или не предоставляет то, что вам нужно, через словарь, можно отправлять общие команды сценариев пользовательского интерфейса в «приложение» под названием «Системные события» ».

0 голосов
/ 29 сентября 2011

Хммм - не слишком много опыта в области OOo, но рассматривали ли вы вопрос об использовании UNO, модели компонентов, которая является частью OpenOffice?

Некоторая документация находится в Руководстве разработчика здесь .

...