Использование делегата Какао в приложении Carbon Objective C++

Я надеюсь, что кто-то сможет помочь мне, так как эта проблема убивает мою производительность. Одна неделя, даже если я совсем новичок в разработке для Mac.

У меня есть приложение Carbon, в которое я хочу добавить функцию: получить путь к файлу, который я дважды щелкнул в поисковике.

я имею

  • изменил проект для разрешения вызовов Objective C.
  • настроить объект делегата и назначить его NSApp
  • реализованы - (BOOL)application:(NSApplication *)app openFile:(NSString *)filenameв делегате.

проблема: метод делегата НЕ срабатывает при двойном щелчке файла в искателе.

Я уверен, что мне чего-то не хватает (проблема с памятью / областью? Проблема с циклом событий (сейчас используется RunApplicationEventLoop)

Если у кого-то есть подсказка, я буду рад ее услышать.

Спасибо вам всем.

1 ответ

Решение

В приложении Carbon NSApp будет равен нулю. NSApp определяется во время функции NSApplicationMain, которая вызывается для запуска приложения Какао. В приложении Carbon необходимо использовать методы Carbon, чтобы определить, когда открывается приложение. Установите обработчик событий и прослушайте событие Apple "odoc".

Другие вопросы по тегам