deemaa
Апрель 18, 2012 12:58:08
Всем привет!
Есть программа 1 (не питон). Из нее вызывается питон-скрипт с GUI. По определенному действию в программе 1 нужно обработать это событие в питон-скрипте, ну или хотя бы передать туда какие-то данные примитивного типа. Надеюсь объяснил понятно, помогите советом новичку.
beelze
Апрель 18, 2012 13:24:34
Абсолютно непонятно. Ставьте задачу конкретнее - мы не знаем ни Ваших «умолчаний», ни платформы ни прочего остального, могущего понадобиться при ответе на Ваш вопрос
deemaa
Апрель 18, 2012 15:42:22
Упростим задачу. ОС windows. Например есть разрабатываемое мной приложение windowsForms .net или просто Excel , не важно. Там две кнопки. По нажатию на первую запускается программа на питоне. Нужно отловить в программе на питоне нажатие второй кнопки. Подскажите направление в котором копать.
beelze
Апрель 18, 2012 16:17:17
исходя из windows и доступности кода обоих приложений - напрашивается в кач-ве самого элементарного что-то типа RegisterWindowMessage и PostMessage (если зарегистрированный message_id может быть передан одним приложением другому); можно выбрать и просто статичный message_id исходя из WM_USER+… - лишь бы с используемыми не пересеклось
deemaa
Апрель 18, 2012 17:09:14
спасибо, что-то подобное я и преполагал…, даже смотрел в сторону COM - сервера на python.
Но если все же абстрагироваться от ОС, то как быть в таком случае?
Может будут еще какие-нибудь идеи?
beelze
Апрель 18, 2012 17:31:59
абстрагироваться только с помощью фреймворков, всяких высокоуровневных библиотек итд.
кроме того, «
windowsForms .net или просто Excel» как-то
уже не особо кроссплатформенно, не?
deemaa
Апрель 18, 2012 17:43:59
ну вообщем согласен, в любом случае спасибо
o7412369815963
Апрель 19, 2012 09:18:53
* Общение через файл, один пишет - другой читает.
* через БД
* через сеть, xml-rpc
ещё можно zeromq заюзать, memcache или подобные.
beelze
Апрель 19, 2012 09:51:17
o7412369815963, все это громоздко - кроме разве что xmlrpc, для более простых задач (уведомление, передача «примитивных» данных) логичнее использовать системные интерфейсы. А кроссплатформенность (коль скоро она дейстаительно необходима) реализовывать как отдельные логики для разных платформ