|
|
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
В плане систематизации знаний хочу узнать, какие существуют методы взаимодействия приложений (повторного использования кода) в Windows, Linux. Интересуют именно интранет-взаимодействия, а не интернет, т.е. не веб-сервисы. Я знаю такие: 1. COM-технологии - существуют только в Windows. Приложение запускается как объект, у которого доступны свойства и методы. 2. Командная строка - запуск EXE-файла с ключами. В некоторых случаях можно управлять уже запущенным приложением через командную строку, а в некоторых интересен просто результат выполнения. 3. DLL. Использование скомпилированных функций из DLL. 4. DDE - что-то похожее на COM и уже устаревшее, поэтому, скорее всего, не актуальное. Чего я еще не знаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 10:48 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Fixinкакие существуют методы взаимодействия приложений (повторного использования кода) или трусы наденьте, или крестик снимите. FixinИнтересуют именно интранет-взаимодействия, а не интернет, т.е. не веб-сервисы. вебсервиы!= интернет, вполне себе могут крутьться на localhost. Если речь о взаимодействии процессов - добавьте CORBA, разделяемую память, именованые и неименованые каналы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 11:00 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
ИзопропилFixinкакие существуют методы взаимодействия приложений (повторного использования кода) или трусы наденьте, или крестик снимите. FixinИнтересуют именно интранет-взаимодействия, а не интернет, т.е. не веб-сервисы. вебсервиы!= интернет, вполне себе могут крутьться на localhost. Если речь о взаимодействии процессов - добавьте CORBA, разделяемую память, именованые и неименованые каналы Я потому и просил исключить веб, что для поднятие веб-сервера нужно много телодвижений сделать. А вот запустить приложение из командной строки - ЛЕГКО! Видимо, CORBA, разделяемая память и каналы из этой же сложной оперы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 11:07 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Я вижу такой идеальный метод для локального компьютера - зная, где находится EXE-файл приложения, вызываю его и он мне дает в виде объекта с свойствами и методами доступ к своему функционалу. Как называется такая технология? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 11:08 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinЯ вижу такой идеальный метод для локального компьютера - зная, где находится EXE-файл приложения, вызываю его и он мне дает в виде объекта с свойствами и методами доступ к своему функционалу. Как называется такая технология? До идеала - далеко, COM подойдёт для реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 11:32 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
ИзопропилFixinкакие существуют методы взаимодействия приложений (повторного использования кода) или трусы наденьте, или крестик снимите. FixinИнтересуют именно интранет-взаимодействия, а не интернет, т.е. не веб-сервисы. вебсервиы!= интернет, вполне себе могут крутьться на localhost. Если речь о взаимодействии процессов - добавьте CORBA, разделяемую память, именованые и неименованые каналы А также dbus и dcop. На линуксах вроде dbus сейчас постепенно заменяет bonobo и dcop. Я через D-Bus мигрировал сотни торрентов с vuze в ktorrent, добавлял в него группы и торренты в группы через python'овскую dbus либу, больших неудобств не было. Возвращать поддерживаемые методы и свойства DBus умеет (introspection) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 12:32 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
ИзопропилДо идеала - далеко, COM подойдёт для реализации. Ну COM в эту схему добавляет только поиск исполнимого кода через реестр и некий стандарт на объявление методов и свойств. А под "далеко" вы что подразумеваете? Что стандарты будут выработаны еще не скоро? авторhВозвращать поддерживаемые методы и свойства DBus умеет (introspection) У меня к вам просьба. Вот смотрите. Технология COM позволяет зарегистрировать в реестре Windows некую библиотеку, после чего можно создавать по символическому имени объект, который будет иметь свойства и методы, а их реализация будет содержаться в этой библиотеке. Функционал библиотеки - это как раз функционал приложения, таких как текстовые редакторы, браузеры и т.п. Можете так же кратко объяснить чайнику, что такое DBUS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 13:58 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Fixin...Технология COM позволяет зарегистрировать в реестре Windows... ерунду несёте. реестр и COM технология - две разные вещи. Рекомендую прочитать "основы COM" - есть такая популярная книга. в начале книги дано определение что такое COM - почитайте на досуге, не поленитесь. реестра там в помине нет. так что учите матч часть для начала... или по другому... технология на то и технология чтоб пофигу где быть реализованной. удачи вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 17:44 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
kolobok0Fixin...Технология COM позволяет зарегистрировать в реестре Windows... ерунду несёте. реестр и COM технология - две разные вещи. Рекомендую прочитать "основы COM" - есть такая популярная книга. в начале книги дано определение что такое COM - почитайте на досуге, не поленитесь. реестра там в помине нет. так что учите матч часть для начала... Любую технологию можно объяснить в двух словах. Если я неправ в деталях, это мелочи. Главное - суть. По сути что я не так описал в COM? По крайней мере часть COM, мне знакомую я описал правильно и так, чтобы любой, кто не работал с COM мог понять, что это такое. Был бы благодарен за подобное же объяснение в двух предложениях сути DBUS. Мне не нужно читать подробности, я хочу понимать "в общем виде". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 18:17 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinМне не нужно читать подробности, я хочу понимать "в общем виде". В двух словах это можно назвать "Удалённый вызов процедур", RPC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 20:43 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
не ограничивайте себя, изобретайте новые методы http://www.sql.ru/forum/actualthread.aspx?tid=882269 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 23:11 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
ИзопропилFixinМне не нужно читать подробности, я хочу понимать "в общем виде". В двух словах это можно назвать "Удалённый вызов процедур", RPC Из ваших двух слов я ничего не понял. Приведите, пожалуйста, содержательное описание, если это возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 01:03 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
2 Изопропил: ИзопропилЕсли речь о взаимодействии процессов - добавьте CORBA, разделяемую память, именованые и неименованые каналы + виндовое оконное сообщение WM_COPYDATA -- очень простой способ меж-процессного взаимодействия. Работает медленнее тех же pipe-ов, но для многих задач сойдёт. 2 Fixin: FixinЯ вижу такой идеальный метод для локального компьютера - зная, где находится EXE-файл приложения, вызываю его и он мне дает в виде объекта с свойствами и методами доступ к своему функционалу. Как называется такая технология? Microsoft Automation. Основана на COM. Расположение .exe-файла знать не надо, вместо этого надо знать ProgId, например "Excel.Application". Но если хочется, чтобы единственный бинарник "раздавал функциональность" всем желающим процессам на компьютере, то я бы скорее всего не стал заморачиваться с COM, а просто скомпилировал бы .dll-файл, выставляющий наружу C-шный API, и положил бы этот .dll-файл "на видное место", то есть в каталог, упомянутый в PATH (environment variable). FixinПриведите, пожалуйста, содержательное описание, если это возможно. Статья в Wikipedia сойдёт за содержательное описание? 2 kolobok0: kolobok0реестр и COM технология - две разные вещи. Использование COM-интерфейсов без реестра -- очень редкое явление. Единственный пример, который я знаю, -- это DirectX. Входящие в него API (например, Direct3D 9) сделаны как набор COM-интерфейсов, но реально DirectX не имеет отношения к COM-компонентам, даже функцию CoInitialize вызывать не надо. 2 netwind: netwindне ограничивайте себя, изобретайте новые методы http://www.sql.ru/forum/actualthread.aspx?tid=882269 Меж-процессное взаимодействие через реестр, конечно, имеет право на жизнь (изменения, вносимые одним процессом, сразу же становятся видны остальным процессам), но я бы так делать не стал. Реестр -- он же для хранения настроек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 02:55 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Точка зрения на взаимодействие программ может быть с двух сторон: -я хочу пользоваться функционалом существующей программы; -я хочу предоставить интерфейс к моей программе для других разработчиков. Существующие программы зачастую не имеют интерфейса, даже наоборот, разработчик как будто пытается затруднить управление с помощью эмуляции нажатия клавиш (вот, кстати, ещё технология, но она слаба, так как фокус в любой момент можно потерять) В качестве примера такой программы: SMS-MMS-Desktop-Client-1.3.1.2-RU.exe В реестр я бы вообще ничего не писал. Положи программу на флешку, да гоняй на любом компе, где есть интернет. А так приходится использовать удаленный рабочий стол, портирование приложений или виртуальные машины. Так что, мне кажется, хорошо иметь .exe, рядом с ним .ini и .dll с описанием функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 08:01 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinВидимо, CORBA, разделяемая память и каналы из этой же сложной оперы. Fixin такой фиксин. Если он в чем то не бум-бум, то считает что это не нужные технологии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 09:25 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Пётр Седов...Использование COM-интерфейсов без реестра -- очень редкое явление. Единственный пример, который я знаю, -- это DirectX..... для тех кто в танке... 1) речь шла не о явлениях. а о технологиях. 2) заявлялось равенство между реестром и COM что Вам не понятно? ышо раз.. OLE, реестр и прочии надстройки над технологией COM есть чисто форточные изобретения и носит отпечаток среды где это юзается. COM можно юзать где угодно где есть понятие бинарник. COM накрывает свои описанием способ динамического взаимодействия, описывая интерфейсный примитив. (круглый) ЗЫ Меня поражает не умение людей видеть плюсы и обходить минусы в той или другой найденной инфе по жизни. COM это сама по себе замечательная технология и если есть потребность(по задаче) такая гибкость - то глупо её не юзать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 12:03 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
kolobok0[ OLE, реестр и прочии надстройки над технологией COM есть чисто форточные изобретения и носит отпечаток среды где это юзается. COM можно юзать где угодно где есть понятие бинарник. COM накрывает свои описанием способ динамического взаимодействия, описывая интерфейсный примитив. Мы обсуждаем больше практические вещи, чем теоретические. Где на практике используется COM, кроме OLE? Буду благодарен вам за информацию. Я знак равенства не ставил, я описывал известную мне реализацию COM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 13:38 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Пётр Седов Статья в Wikipedia сойдёт за содержательное описание? Я просил такое описание, которое вкратче излагает суть или ваш личный опыт. Я не поленился и описал OLE-технологию в винде понятным языком, всего 2 предложения. Вы можете кратно, в двух предложениях, лаконично аннотировать статью из Вики? Я почитал и ничего не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 13:41 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Для Windows - должен быть DCOM. С CORBA - не знаком но те кто имели дело говорят - шибко сложная для начинания. Советуют выбрать любую другую альтернативу. Для .Net соответственно есть боле удобный Remouting. Для *nix - модной фрондой должен быть D-Bus (хотя тоже не знаком). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 13:42 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
То бишь, резюмируя, если разработчик хочет обеспечить доступ к функциональности своего приложения, самый простой способ - он должен сделать DLL, которую можно вызывать. Но тут возникает вопрос - а как управлять уже запущенным приложением. Как разработчик должен в этой DLL описать обращение к уще запущенному приложению, если он хочет обеспечить такую возможность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 13:57 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Читай про COM-серверы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 13:59 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
maytonЧитай про COM-серверы. Ответ ни о чем. Вы же понимаете, что я не знаю, с чего начать читать и что именно читать. Можно своими словами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 14:08 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinmaytonЧитай про COM-серверы. Ответ ни о чем. Вы же понимаете, что я не знаю, с чего начать читать и что именно читать. Можно своими словами? Замкнутый круг получается. Ты не знаешь с чего начать. И хочешь сразу всё. Ну вобщем такая телега: есть низкоуровневые механизмы IPC (InterProcess communication). Это shared memory, и объекты мультизадачности (всякие там мьютексы, атомарные счётчики и прочее). Отдельной категорией стоят Pipes. Каналы между процессами. Можно еще почитать про сокеты, и memory-mapped files хотя и не обязательно. Начни читать с этого если хочешь. Если не хочешь - читай сразу по архитектуре COM серверов. Дальше советы давать безсмысленно т.к. твоё задание нам неведомо и соотв. непонятно что добавлять к концепциям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 14:43 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
[quote Fixin Я не поленился и описал OLE-технологию в винде понятным языком, всего 2 предложения. [/quote] Вам это не удалось(ни понять технологию, ни описать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 14:45 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
ИзопропилВам это не удалось(ни понять технологию, ни описать) Ваше имхо против моего. Я считаю, что понял и описал адекватно, по крайней мере то, что щупал на практике. МОжете указать на ошибки, если хотите чего то доказать. Возник практический вопрос. Я хочу заказать программно управляемый браузер http://www.sql.ru/forum/actualthread.aspx?tid=661125&pg=5 Хочу управлять им из консоли. Т.е. в памяти будет сидеть процесс PCB.EXE, а когда я буду запускать PCB.EXE с параметрами, этот второй процесс будет подключаться к первому и возвращать данные о состоянии или управлять первым процессом. Вопрос - как по-другому можно сделать управление. Из всех механизмов интеграции в 1С есть только COM и командная строка. Можно создать еще HTTPRequest, если приложение будет способно отвечать на запросы на заданный порт. Но браузер будет портабельным, т.е. никаких изменений в системе, пока не работает, делать не будет. Итак, какой самый простой, быстрый и незатратный способ взаимодействия можно изобразить в данном случае? Чтобы добавить конкретики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2011, 23:37 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinВопрос - как по-другому можно сделать управление. Из всех механизмов интеграции в 1С есть только COM и командная строка. С этого и надо было начинать. Выбери КОНКРЕТНЫЙ браузер и шурши инфу как им управлять. Может быть там и СОМ не нужен а есть просто протокол типа "открыть-браузер-с-моей-ссылкой" или открыть anchor e.t.c. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2011, 15:35 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
maytonС этого и надо было начинать. Выбери КОНКРЕТНЫЙ браузер и шурши инфу как им управлять. Может быть там и СОМ не нужен а есть просто протокол типа "открыть-браузер-с-моей-ссылкой" или открыть anchor e.t.c. Это уже пройденный этап. Программно управляемый - только IE, он не катит. Поэтому я хочу, чтобы мне написали свой. Осталось только выбрать метод управления - через командную строку или через порты. Как посоветуете? По идее, если слать пакеты через порт, то это умеет делать объект HTTPRequest или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2011, 18:29 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinОсталось только выбрать метод управления - через командную строку или через порты. "через порты". XML-RPC например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2011, 18:45 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinОсталось только выбрать метод управления - через командную строку или через порты. Как посоветуете? По идее, если слать пакеты через порт, то это умеет делать объект HTTPRequest или нет?Фигачь через пайпы, порты нынче не на каждой мойшине дадут открыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2011, 16:41 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
maXmoFixinОсталось только выбрать метод управления - через командную строку или через порты. Как посоветуете? По идее, если слать пакеты через порт, то это умеет делать объект HTTPRequest или нет?Фигачь через пайпы, порты нынче не на каждой мойшине дадут открыть. А как через пайпы? В смысле есть ли какой-то COM-объект, умеющий работать через PIPE? С HTTP то я смогу получить данные через HTTPRequest Может быть просто HTTP запрос на localhost делать? Или для этого тоже надо порты открывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2011, 10:54 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
пайп - это стрим, как любой файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2011, 15:38 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
maXmoпайп - это стрим, как любой файл. гм... интересная тема... а в винде есть пайпы, размещаемые в памяти, которые можно читать как обычные файлы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2011, 17:04 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinmaXmoпайп - это стрим, как любой файл. гм... интересная тема... а в винде есть пайпы, размещаемые в памяти, которые можно читать как обычные файлы? Нет. Pipe в винде это другая сущность. Не такая как в Unix. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2011, 17:37 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinmaXmoпайп - это стрим, как любой файл. гм... интересная тема... а в винде есть пайпы, размещаемые в памяти, которые можно читать как обычные файлы? да, при чем с помощью стандартных файловых функций (createfile и так далее). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 08:17 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
можно даже настройки безопасности использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 08:17 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
eNose да, при чем с помощью стандартных файловых функций (createfile и так далее). Ну расскажите как. Допустим, одно приложение создает пайп, а другое из него читает. Но пайп в памяти, а не в файлах. И в винде. Как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 10:31 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixineNose да, при чем с помощью стандартных файловых функций (createfile и так далее). Ну расскажите как. Допустим, одно приложение создает пайп, а другое из него читает. Но пайп в памяти, а не в файлах. И в винде. Как? http://hackins.narod.ru/data/vzlom/1_7.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 10:48 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
eNose http://hackins.narod.ru/data/vzlom/1_7.html А говорите, можно открыть стандартными файловыми операциями... А ведь это не так, насколько я понял. Было бы удобно, если бы я мог открыть файл "pipe:sdkfsfsfsdfsdfsfdsfdsf", записать в него, а другой процесс бы считал из него. Причем типовыми файловыми операциями, но файл бы хранился в памяти, а не на диске ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 12:40 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinБыло бы удобно, если бы я мог открыть файл "pipe:sdkfsfsfsdfsdfsfdsfdsf", записать в него, а другой процесс бы считал из него. Причем типовыми файловыми операциями, но файл бы хранился в памяти, а не на диске Это архитектура брадт. Если ты кодер под Windows то используй те механизмы, API которых описан в MSDN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 12:48 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
maytonFixinБыло бы удобно, если бы я мог открыть файл "pipe:sdkfsfsfsdfsdfsfdsfdsf", записать в него, а другой процесс бы считал из него. Причем типовыми файловыми операциями, но файл бы хранился в памяти, а не на диске Это архитектура брадт. Если ты кодер под Windows то используй те механизмы, API которых описан в MSDN. У меня нет доступа к API, я думал с PIPE можно работать стандартными файловыми операциями. Вы меня разочаровываете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 14:36 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinБыло бы удобно, если бы я мог открыть файл "pipe:sdkfsfsfsdfsdfsfdsfdsf", записать в него, а другой процесс бы считал из него. Причем типовыми файловыми операциями, но файл бы хранился в памяти, а не на дискеСудя по докам, можно открыть клиентский конец пайпа. Пиши туда, а сервер пусть читает. Пайпы хранятся только в памяти. http://msdn.microsoft.com/en-us/library/windows/desktop/aa365592%28v=vs.85%29.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 14:49 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinУ меня нет доступа к APIА что так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 14:54 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
maXmoFixinУ меня нет доступа к APIА что так? В 1С я могу создавать только COM-объекты или запускать приложения. Вот так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 15:03 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinmaXmoпропущено... А что так? В 1С я могу создавать только COM-объекты или запускать приложения. Вот так. Создай приложение которое работает с pipes и запусти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 15:35 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
maytonСоздай приложение которое работает с pipes и запусти. Масло масляное, тебе не кажется. У меня есть программно управляемый браузер, думаю, через что им управлять из 1с. Если через командную строку, то зачем мне посредник - я и так могу? Я думал можно управлять более быстрым способом, а ты меня опять через командную строку ведешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 15:52 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinВ 1С я могу создавать только COM-объекты или запускать приложения. Вот так.Ну а что тебе тогда ещё надо? Фигачь через ком. Если 1С тебе все руки открутил, Билл Гейтс тебе тут не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 17:14 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinВ 1С я могу создавать только COM-объекты Вот и напиши свою COM-компоненту ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 17:25 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
NafВот и напиши свою COM-компоненту Это из пушки да по воробья, не кажется? Тогда уж через Command Line. БОльше идей по взаимодействию приложений нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 17:38 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
maXmoНу а что тебе тогда ещё надо? Фигачь через ком. Если 1С тебе все руки открутил, Билл Гейтс тебе тут не поможет. В винде есть типовые COM-объекты для работы с PIPE? Вот с HTTPRequest есть, а с PIPE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 17:39 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinNafВот и напиши свою COM-компоненту Это из пушки да по воробья, не кажется? нет, не кажется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 18:47 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Например с помощью файлов, как это сделано в Plan 9 и Inferno ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 18:51 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinВ винде есть типовые COM-объекты для работы с PIPE? Вот с HTTPRequest есть, а с PIPE?Нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 19:10 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinВ винде есть типовые COM-объекты для работы с PIPE? Вот с HTTPRequest есть, а с PIPE?Я имел в виду, приложение, с которым ты хочешь общаться, предоставляет ком-интерфейс, через который ты с ним и общаешься. Тебе же всё напишут? Вот и пусть пишут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 19:12 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Можешь конечно через HTTPRequest попробовать. Это последний писк с кроссплатформенных уях. Ну придётся написать маленький http-сервер, лол. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 19:41 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Какой капризный однако автор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2011, 21:07 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixineNose http://hackins.narod.ru/data/vzlom/1_7.html А говорите, можно открыть стандартными файловыми операциями... А ведь это не так, насколько я понял. Было бы удобно, если бы я мог открыть файл "pipe:sdkfsfsfsdfsdfsfdsfdsf", записать в него, а другой процесс бы считал из него. Причем типовыми файловыми операциями, но файл бы хранился в памяти, а не на диске читаем вместе: "Далее производится подключение к каналу \\computer_name\pipe\pipe_name посредством вызова функции "Create File". ... Клиентский процесс может отключиться от канала в любой момент с помощью функции "CloseHandle". ... После установления виртуального соединение серверный процесс и клиентский процесс могут обмениваться информацией при помощи пар функций "ReadFile" и "WriteFile". Если один участник информационного обмена записывает данные в канал при помощи функции "WriteFile", то другой участник может прочитать, используя функцию "ReadFile"." То есть самые что ни есть СТАНДАРТНЫЕ файловые операции. FixinУ меня нет доступа к API, я думал с PIPE можно работать стандартными файловыми операциями. не понял. если нет доступа к API, то какими "стандартными" файловыми операциями ты собираешься пользоваться? API - это и есть стандарт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 08:36 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
eNose"Далее производится подключение к каналу \\computer_name\pipe\pipe_name посредством вызова функции "Create File". Гладко было на бумаге, да только выдается File not found: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 11:49 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Поверхностно, не вникая в детали, что-то с файловым путём не то. Посмотри пример каналов в 32-разрядной программы на Visual Basic (сорри за каламбур но так было озаглавлено.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 12:35 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Fixin, а канал то создан? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 12:54 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
maytonПоверхностно, не вникая в детали, что-то с файловым путём не то. Посмотри пример каналов в 32-разрядной программы на Visual Basic (сорри за каламбур но так было озаглавлено.) оттуда: авторСуществуют шесть шагов для создания именованных каналов сервера. Создайте маркер безопасности для канала для доступа к нему (чтобы сделать доступными для любого процесса именованных каналов, создавая маркер безопасности с на уровне пользователей управления доступом список (DACL), содержит нулевые элементы). Создание именованного канала. Вызов ConnectNamedPipe для блокирования до подключения клиента. Вызов ReadFile и WriteFile для связи через канал. После завершения процесса, вызов DisconnectNamedPipe через канал. Либо CloseHandle по именованному каналу или перейдите к шагу 4. Существуют три шага для использования именованных каналов клиентом именованных каналов. Вызовите CreateFile , чтобы получить дескриптор для именованного канала. Вызов ReadFile и WriteFile для связи через канал. Вызов CloseHandle filehandle , созданные в CreateFile. что именно не то с файловым путём? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 13:01 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Fixin Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 13:02 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
eNoseчто именно не то с файловым путём? :) Я просто предположил что имя хоста надо заменить на точку для начала. Это бы отбросило процент проблем ресолвинга имени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 13:18 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
mayton, я полагаю - канал отсутсвует в натуре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 13:20 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinГладко было на бумаге, да только выдается File not foundэто только клиент; без сервера соответственно и коннектиться не к чему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 14:38 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Изопропил, а как я на VSB сделаю вызов InitializeSecurityDescriptor ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 15:25 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Я-же пример привёл. Или ты совсем не читал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 15:57 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinИзопропил, а как я на VSB сделаю вызов InitializeSecurityDescriptor ??? сервер на VBS имитируется? Если клиент 1С - разумнее всего с сервером взаимодействовать через COM и не трахать себе и окружающим мозг. COM server можно писать и на vbscript - http://www.sql.ru/forum/actualthread.aspx?tid=11397823 насчёт "заказного" управляемого броузера - включить практически любой броузер в своё приложение (которым Вы и будете управлять) - задача несложная Модератор: done новая ссылка неправильная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 19:04 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
правильная ссылка - http://forum.script-coding.com/viewtopic.php?id=1037 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 20:10 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
Ну я уже писал насчет написания COM-серверов Это усложнит проект. Если через стандартные файловые функции нельзя, буду через командную строку. 21 век, а в винде нет стандартного обмена между приложениями - приплыли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 23:57 |
|
||
|
Просветите о методах взаимодействия приложений
|
|||
|---|---|---|---|
|
#18+
FixinНу я уже писал насчет написания COM-серверов Это усложнит проект. Если через стандартные файловые функции нельзя, буду через командную строку. 21 век, а в винде нет стандартного обмена между приложениями - приплыли. а по-моему ты просто троллишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2011, 07:52 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1342687]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
124ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 592ms |

| 0 / 0 |
