пятница, 26 сентября 2014 г.

Как запустить консольное приложение и получить его вывод в OSX с помощью Delphi

Я только начал изучать разработку под мак, поэтому буду иногда выкладывать заметки от чайника для таких же чайников) Значит вот что я заметил: Mac OS основана на Unix, и для разработки под нее используется так называемое Posix API и Cocoa API. Posix API идет из Unix и совместим с ним, поэтому при поиске решений здорово искать решения для unix, а потом применять его в os x приложении.

Итак, для запуска консольного процесса и получения его данных используется Posix функция popen, которая не описана в хидерах Delphi, ее можно взять из хидеров Kylix (там вообще есть очень много из libc и все совместимо с Delphi).

Собственно решение (Проверялось на Delphi XE7):