Страницы: 1
Господа я не месный так что сильно ногами не пинайте .
Суть дела у меня такова, написал я как то прогу не очень сложную но и не очень простую а так себе нормальную.
И захотел эту прогу начальник прикрутить к JavaScript-у своей страницы чтобы вызывалаь она им.
А прога на С++ и состоит она из нескольких .h и .cpp файлов .
Я сразу почувствовал запах XPCOM-а !
Но как заглянул в исходники ......XPCOM так мне дурно стало!!!
МОЖЕТ кто подскажет как с меньшими затратами прикрутить С++ прогу к XPCOM ?
И главное как можно быстрее а то начальник не образованный ему что XPCOM что утюг все одно.
Отсутствует
Можно без XPCOM, но все равно придется написать расширение (extension): Running applications Т.е можно просто запускать скомпилированную прогу и ждать от нее результатов например в файле. Как раз недавно пост был об этом, правда там про линукс.
Проблема в том, что если страничка лежит в интернете, для того чтоб все работало, понадобится, чтобы у пользователя в его стояло это расширение. И еще понадобится Interaction between privileged and non-privileged pages
Вообщем, вопрос в том, где находится эта веб-страница.
Отсутствует
Господа речь идет как раз про LINUX и как я понял из доки по XPCOM самое неприятное и сложное при создании XPCOM компонента это уникальный UID который потом используется в .idl для регистрации компонента в системе.
прога лежит конечно же в инете а JavaScript удаленно в сети .
Я просто никак представить не могу как максимально просто и быстро реализовать XPCOM и включить в него свою прогу.
Отсутствует
самое неприятное и сложное при создании XPCOM компонента это уникальный UID
самое неприятное и сложное - скомпилировать компонент в первый раз.
Я просто никак представить не могу как максимально просто и быстро реализовать XPCOM и включить в него свою прогу.
Прочти первые две ссылки. Может быть, С++ вообще не понадобится.
прога лежит конечно же в инете а JavaScript удаленно в сети
Еще раз: основная проблема - это система безопасности в Firefox. Он просто так не даст веб-странице запускать какую-нибудь программу откуда бы то ни было. Ни исполняемый бинарник, ни какой-либо XPCOM-компонент нельзя "прикрутить" непосредственно к веб-странице. Надо делать расширение, которое пользователь будет сам устанавливать в свой Firefox, и только с ним веб-страница будет работать (если конечно сделать все как надо).
P.S. Прочитай пожалуйста мой предыдущий пост внимательно и не торопясь и хотя бы просморти ссылки. К сожалению, быстро тут в любом случае не получится.
Отсутствует
Я сильно извиняюсь за то что ввел вас в заблуждение конечно же пользователь будет использовать прогу локально на своем Firefox-е но суть от этого не меняется JavaScript передает проге некий поток char -ов скажем и поток обработав, прога отдает результат в FireFox обратно.
Задача состоит в том что прога стоит в сети(локальной) и начальник или другой ЮЗВЕРЬ может нажав на ссылке с помощью JavaScripta запустить прогу передав ей как входные данные поток .
Отсутствует
Я сильно извиняюсь за то что ввел вас в заблуждение конечно же пользователь будет использовать прогу локально на своем Firefox-е но суть от этого не меняется JavaScript передает проге некий поток char -ов скажем и поток обработав, прога отдает результат в FireFox обратно.
Если это консольное приложение, надо просто написать расширение, которое будет вызывать это приложение.
А про вызов методов расширения из скрипта страницы недавно тема была.
Задача состоит в том что прога стоит в сети(локальной) и начальник или другой ЮЗВЕРЬ может нажав на ссылке с помощью JavaScripta запустить прогу передав ей как входные данные поток .
Но вообще конечно правильнее сделать сервак и на нем запускать это приложение, а из скрипта страницы к нему обращаться.
--- ---
Отсутствует
А если сервака нет и развернуть его нет возможности .
То как обращаться к приложению ?
Притом это приложение не консольное - это .so т.е. библиотека .
Я почему про XPCOM и заговорил , только с помощью него можно подцепиться по типу COM объекта как в WINDOWS-e
Вот я и спрашиваю может уже есть подобный XPCOM компонент скомпилированный к нему в интерфейс тока прописать мой функционал который будет вызываться JavaScript-ом ?
Но тогда как сделать UIN для этого интерфейса и как его зарегистрировать в системе?
Отсутствует
Притом это приложение не консольное - это .so т.е. библиотека .
Ну если из консоли/wsh-скрипта подцепить никак нельзя, тогда только XPCOM.
Ну или можно попробовать поразбираться с проектами, которые нацелены на прикручивание COM-а к Лису.
Но тогда как сделать UIN для этого интерфейса и как его зарегистрировать в системе?
Если имеется в виду GUID - он делается сторонними средствами (например МС студия умеет делать, а вообще это всё ищется).
--- ---
Отсутствует
А если сервака нет и развернуть его нет возможности .
А сама страница где тогда хостится? Или она по протоколу file:/// загружается? Просто сервер - действительно самое простое и удобное решение.
Ну если из консоли/wsh-скрипта подцепить никак нельзя, тогда только XPCOM.
Если с XPCOM совсем не хочется разбираться, возможно проще написать консольную "обертку", которая будет обрабатывать команды. Но если все-таки решиться писать XPCOM-компонент, надо просто взять какой-нибудь короткий пошаговый туториал и собрать пробный компонент. Дальше проще: немного поменять idl под свою библиотеку и аккуратно реализовать соответствующие функции.
Я когда-то использовал туториал http://www.iosart.com/firefox/xpcom/ но сейчас там нет комментариев, в которых тоже было много полезного. Здесь есть несколько ссылок на другие.
Generating GUIDs. Регистрировать компонент или через regxpcom (она в Gecko/XULRunner SDK), или, если компонент внутри расширения, он сам зарегистрируется при установке (надо положить его в дирекорию /components и все).
Отсутствует
Страницы: 1