1 Востаннє редагувалося Fox (12.03.2016 12:53:09)

Тема: [Проблему вирішено] Виклик метода з іншої програми

Ось є дві програми. Одна повинна викликати метод в інший.
Як це зделать поняття не маю.
Допоможіть будь ласка.
PS: Обидві програми консольні.

2

Re: [Проблему вирішено] Виклик метода з іншої програми

якщо проги пишуться з нуля, то я б використовував udp-сокети

Подякували: Fox1

3

Re: [Проблему вирішено] Виклик метода з іншої програми

FakiNyan написав:

якщо проги пишуться з нуля, то я б використовував udp-сокети

Тiльки не це. Я тиждень розбирався с сокетами так і не зрозумів як це все працює.
Можливо звернутися до процесу ??? Проги на 1 пк

4

Re: [Проблему вирішено] Виклик метода з іншої програми

vtorgashov написав:
FakiNyan написав:

якщо проги пишуться з нуля, то я б використовував udp-сокети

Тiльки не це. Я тиждень розбирався с сокетами так і не зрозумів як це все працює.
Можливо звернутися до процесу ??? Проги на 1 пк

з цим я вам не допоможу, а з сокетами можу.
Якось сам розбирався з ними, а зараз можу написати клієнт-сервер з заплющеними очима.

Подякували: Fox1

5

Re: [Проблему вирішено] Виклик метода з іншої програми

https://en.wikipedia.org/wiki/Remote_procedure_call — для даної задачі трохи краще, ніж UDP

Подякували: Fox1

6

Re: [Проблему вирішено] Виклик метода з іншої програми

FakiNyan написав:
vtorgashov написав:
FakiNyan написав:

якщо проги пишуться з нуля, то я б використовував udp-сокети

Тiльки не це. Я тиждень розбирався с сокетами так і не зрозумів як це все працює.
Можливо звернутися до процесу ??? Проги на 1 пк

з цим я вам не допоможу, а з сокетами можу.
Якось сам розбирався з ними, а зараз можу написати клієнт-сервер з заплющеними очима.

Не підкажете туторіал по взаємодії двох програм на Українській або російській мовi (бажано на Українській)?
І якщо там все детально розписано то це просто супер буде.
Я таке шукав тиждень а потiм перехотiлося сокети вивчати

7

Re: [Проблему вирішено] Виклик метода з іншої програми

vtorgashov написав:
FakiNyan написав:
vtorgashov написав:

Тiльки не це. Я тиждень розбирався с сокетами так і не зрозумів як це все працює.
Можливо звернутися до процесу ??? Проги на 1 пк

з цим я вам не допоможу, а з сокетами можу.
Якось сам розбирався з ними, а зараз можу написати клієнт-сервер з заплющеними очима.

Не підкажете туторіал по взаємодії двох програм на Українській або російській мовi (бажано на Українській)?
І якщо там все детально розписано то це просто супер буде.
Я таке шукав тиждень а потiм перехотiлося сокети вивчати

можете глянути оце
http://fakinyan.blogspot.com/2015/01/c_2.html
http://fakinyan.blogspot.com/2015/01/c.html
якщо щось незрозуміло буде - то запитуйте

Подякували: Fox, leofun012

8

Re: [Проблему вирішено] Виклик метода з іншої програми

P.Y. написав:

https://en.wikipedia.org/wiki/Remote_procedure_call — для даної задачі трохи краще, ніж UDP

ну так це ж теж сокети, нє?

Подякували: Fox1

9 Востаннє редагувалося Fox (07.03.2016 20:06:21)

Re: [Проблему вирішено] Виклик метода з іншої програми

FakiNyan написав:
P.Y. написав:

https://en.wikipedia.org/wiki/Remote_procedure_call — для даної задачі трохи краще, ніж UDP

ну так це ж теж сокети, нє?

Все одно не дуже розумiю

10 Востаннє редагувалося raxp (07.03.2016 20:09:59)

Re: [Проблему вирішено] Виклик метода з іншої програми

Обмін повідомленнями (SendMessage/PostMessage) і реєстрація на себе WM_COPYDATA теж ніхто не забороняє, як й зовнiшним файлом, як й Callback-функцiями. Все залежить від необхідної швидкості обміну.

https://msdn.microsoft.com/en-us/librar … 85%29.aspx
https://msdn.microsoft.com/en-us/librar … 85%29.aspx

11

Re: [Проблему вирішено] Виклик метода з іншої програми

vtorgashov написав:
FakiNyan написав:
P.Y. написав:

https://en.wikipedia.org/wiki/Remote_procedure_call — для даної задачі трохи краще, ніж UDP

ну так це ж теж сокети, нє?

Все одно не дуже розумiю

ну то така фігня, коли в одній прозі ви створюєте класс А, а в іншій прозі робите теж класс А, але особливий, ліл. А потім ви зв'язуєте ці дві проги, і коли викликаєте в першій прозі метод класу А, то цей самий метод викликається в іншій прозі, ну таке.

Подякували: Fox1

12

Re: [Проблему вирішено] Виклик метода з іншої програми

FakiNyan написав:
P.Y. написав:

https://en.wikipedia.org/wiki/Remote_procedure_call — для даної задачі трохи краще, ніж UDP

ну так це ж теж сокети, нє?

Теж, але не в такому сирому вигляді.

13

Re: [Проблему вирішено] Виклик метода з іншої програми

Якщо Вам йдеться про C# то ви мабуть шукаєте .NET Remoting:
https://msdn.microsoft.com/en-us/librar … S.85).aspx
https://generally.wordpress.com/2007/05 … mple-in-c/

Подякували: Fox, leofun012

14 Востаннє редагувалося Engineer (08.03.2016 10:29:31)

Re: [Проблему вирішено] Виклик метода з іншої програми

В першу чергу потрібно розібратися, що вам точно потрібно. Бо я так і не зрозумів, чи треба просто заюзати метод, що знаходиться в іншій програмі (грубо кажучи у файлі на диску) чи вам треба звернутися до іншого працюючого процесу (програми що виконується) і викликати його метод.

  В  першому випадку, якщо інша програма це .Net збірка, то необхідно приєднати її до проекту, вказавши шлях. Також дивіться що таке GAC (global assembly cache). Якщо інша програма не .Net тоді все залежить від її розробника. Можливо вона підтримує СОM чи ActiveX . Тоді в .Net дивіться на Interop (https://msdn.microsoft.com/en-us/library/ms173184.aspx)

  В другому випадку , якщо ви розробляєте обидві програми на .Net то куріть мануали по WCF.
@iovchynnikov .Net remouting вже застаріла і в тому лінку що ви дали Microsoft так і пише This topic is specific to a legacy technology that is retained for backward compatibility with existing applications and is not recommended for new development. Distributed applications should now be developed using the Windows Communication Foundation (WCF).
Якщо друга програма від стороннього виробника, то вам допоможе тільки документація від нього :)

Подякували: leofun011

15

Re: [Проблему вирішено] Виклик метода з іншої програми

Це якщо розробник дiлиться API для взаэмодiї )
Але з першого поста враження, що э доступ до сирцiв обох програм.

16

Re: [Проблему вирішено] Виклик метода з іншої програми

raxp написав:

Це якщо розробник дiлиться API для взаэмодiї )
Але з першого поста враження, що э доступ до сирцiв обох програм.

ну тоді WCF і нема чо вигадувати

17

Re: [Проблему вирішено] Виклик метода з іншої програми

Engineer написав:

В першу чергу потрібно розібратися, що вам точно потрібно. Бо я так і не зрозумів, чи треба просто заюзати метод, що знаходиться в іншій програмі (грубо кажучи у файлі на диску) чи вам треба звернутися до іншого працюючого процесу (програми що виконується) і викликати його метод.

  В  першому випадку, якщо інша програма це .Net збірка, то необхідно приєднати її до проекту, вказавши шлях. Також дивіться що таке GAC (global assembly cache). Якщо інша програма не .Net тоді все залежить від її розробника. Можливо вона підтримує СОM чи ActiveX . Тоді в .Net дивіться на Interop (https://msdn.microsoft.com/en-us/library/ms173184.aspx)

  В другому випадку , якщо ви розробляєте обидві програми на .Net то куріть мануали по WCF.
@iovchynnikov .Net remouting вже застаріла і в тому лінку що ви дали Microsoft так і пише This topic is specific to a legacy technology that is retained for backward compatibility with existing applications and is not recommended for new development. Distributed applications should now be developed using the Windows Communication Foundation (WCF).
Якщо друга програма від стороннього виробника, то вам допоможе тільки документація від нього :)

Я маю програму без iнтерфейсу просто процес. Менi треба виводити текст з неЇ, посилати команди.
Я думав зробити це через консоль.

18

Re: [Проблему вирішено] Виклик метода з іншої програми

...що заважаэ?

19 Востаннє редагувалося Fox (08.03.2016 14:46:16)

Re: [Проблему вирішено] Виклик метода з іншої програми

Це я випадково написав. Видалити неможливо :С

20 Востаннє редагувалося Fox (08.03.2016 14:46:34)

Re: [Проблему вирішено] Виклик метода з іншої програми

raxp написав:

...що заважаэ?

Те що я не знаю як передавати даннi через сокет
PS: Я самоучка. Багато що не знаю. Я за весь час не прочитав жодного пiдручника по C#. Але дещо можу зробити