|
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
|
|
Как передать информацию из одной программы в другую10.09.2009, 14:39. Показов 14141. Ответов 20
Метки нет (Все метки)
Одна программа на С#, вторая на Delphi. Из первой во вторую нужно послать строку, после чего вторая программа должна ответить первой программе тоже строкой.
Какая технология это позволяет сделать наиболее просто?
0
|
|
| 10.09.2009, 14:39 | |
|
Ответы с готовыми решениями:
20
Как передать Dictionary с одной формы на другую?
Как передать значения переменных из одной функции в другую |
|
62 / 63 / 3
Регистрация: 25.05.2009
Сообщений: 520
|
|
| 10.09.2009, 14:49 | |
|
Через реестр.
Через буфер обмена. Через файл подкачки. Через гугль http://www.rsdn.ru/Archive/VC/issues/pvc036.htm
0
|
|
|
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
|
|
| 10.09.2009, 15:21 [ТС] | |
|
Через реестр и файлы как-то некрасиво (предполагается редкий обмен короткими строковыми сообщениями).
За ссылку спасибо, буду что нибудь копать. Правда незнаю что именно мне нужно. Начну с WM_COPYDATA
0
|
|
|
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
|
|
| 10.09.2009, 15:29 | |
|
SergBokh, через сообщения окну. Процедуры точно не помню, по-моему SendMessage, там ещё различные процедуры есть, как PostMessage etc...
Добавлено через 44 секунды Как вариант - через сокеты. WinSock или сокеты Беркли...
0
|
|
|
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
|
|
| 10.09.2009, 16:09 | |
|
Через сокеты правильнее
0
|
|
|
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
|
|
| 10.09.2009, 17:56 [ТС] | |
|
через сокеты это ж вроде бы если нужно по сети обмениваться?
0
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 14.09.2009, 16:01 | |
|
тут ничего не поделаешь. или через общий файл, или через сокеты(отправляешь данные на IP: 127.0.0.1 - это ИП самого себя)
0
|
|
|
153 / 113 / 25
Регистрация: 23.06.2008
Сообщений: 320
|
|
| 17.09.2009, 14:34 | |
|
Можно еще через оперативную память...
0
|
|
|
62 / 63 / 3
Регистрация: 25.05.2009
Сообщений: 520
|
|
| 17.09.2009, 14:37 | |
|
0
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
||
| 21.09.2009, 01:13 | ||
|
0
|
||
|
5 / 5 / 1
Регистрация: 23.09.2009
Сообщений: 13
|
|
| 23.09.2009, 02:28 | |
|
Делай через сокеты. в инете куча примеров. ничего проще и красивее не придумаешь
0
|
|
|
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
|
|
| 23.09.2009, 22:30 [ТС] | |
|
Через сокеты так через сокеты. Но скажите, разве не нужна для этого сетевуха?
0
|
|
|
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
|
|
| 24.09.2009, 15:02 | |
|
Если программы на одном компе, то нет
1
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 05.10.2009, 02:16 | |
|
В этой теме я ранее уже написал о собственном ip. Создаешь связь сокета с ним и посылаешь сам себе данные. Сетевая для этого не нужно.
Добавлено через 3 минуты Но для этих целей лучше использовать оперативную память. Правда, не помню как ![]() Добавлено через 32 секунды Но для этих целей лучше использовать оперативную память. Правда, не помню как
1
|
|
|
5 / 5 / 1
Регистрация: 23.09.2009
Сообщений: 13
|
|
| 05.10.2009, 02:45 | |
|
Вообще сетевая карточка не используется, но есть большая вероятность что будет требоваться ...
Есть еще один способ. Также ты можешь сделать так: 1) В программе на Delphi сделать нужное количество функций, которые будут при их выполнении получать нужный данные, и экспортировать эти функции. 2) После того как соберешь прогу на дельфи, займись той которая на шарпе, а именно: Просто импортируешь эти функции из той проги, приводишь их к нужному виду через маршалинг (класс Marshal) 3) Просто юзаешь эти функции, а они тебе возвращают все то что тебе нужно. занимает все это строчек 10, + 3 строчки на каждую новую функцию, гдето так ... Только вот насколько я помню, можно экспортировать и классы целиком (в сях), но с ними потом проблем достаточно много, так что в этом случае, тебе придется обойтись статическими функциями. !!! Так же не уверен на 100% что он тебе будет отображать информацию в реальном времени ... Вообще можно просто найти окно по заголовку в нем, и вломиться в его оперативную память, но помоему это сложнее. Так что лучше используй сокеты и не заморачивайся с оперативкой, работать от не быстрее все равно не станет, по крайней мере ты этоко точно не заметишь, а примеров в инете много. Если постараешся, то за 10-15 минут точно найдешь коротенький и рабочий примерчик...
1
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 05.10.2009, 16:02 | |
|
У меня где то был небольшой кусочек кода где по сокетам передавал сам себе данные. Вечером приеду домой, поищу и, если найду, выложу. Там всё предельно ясно.
0
|
|
|
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
|
|
| 05.10.2009, 20:32 [ТС] | |
|
Использовать каким-то образом класс дельфи в c# было-бы хорошо, но раз там столько проблем может быть, то откажусь.
Буду копать сокеты - и интересней и потом пригодится. Примеров в сети валом, но в основном бухают кусок кода в 100-200 строк с минимальными комментами. Можно конечно скопировать запустить чужой код, но хотелось бы более-менее разобраться в технологии.
0
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
||||||
| 05.10.2009, 22:09 | ||||||
|
Вот, нашел.
Если будут вопросы - пиши в личку. С удовольствием помогу.
![]() Добавлено через 40 секунд "localhost" = 127.0.0.1
1
|
||||||
|
5 / 5 / 1
Регистрация: 23.09.2009
Сообщений: 13
|
|
| 06.10.2009, 18:34 | |
|
Тоже видел такой пример ))) единственное что вместо Encoding.UTF8 я использовал Encoding.Default, иначе русские буквы не корректно передаваться будут ...
0
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 07.10.2009, 11:47 | |
|
Вполне корректно. UTF-8 имеет при себе русский.
Думаю, следует руководствоваться своими целями и выбирать нужную кодировку. Это был лишь пример. Сомневаюсь, что стартеру темы нужно передавать именно строку.
0
|
|
| 07.10.2009, 11:47 | |
|
Помогаю со студенческими работами здесь
20
Как передать значение переменной из одной формы в другую Как передать массив структур из одной формы в другую Как передать ссылку на экземпляр класса с одной формы на другую Как правильно передать несколько разнородных данных из одной формы в другую? Как из одной программы корректно завершить другую? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|