Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача данных между программами


Страницы:   1 2

bagos ©   (2011-01-28 19:38:00) 

Всем привет, поделитесь информацией как организовать передачу данных между двумя программами на delphi, и в каком формате передавать данные. Исходники программ есть.
Заранее спасибо.


Anatoly Podgoretsky   (2011-01-29 13:20:00) [1]

> DVM  (29.01.2011 11:27:20)  [20]

Не сказал быЮ что самое универсальное, это потребует открытие порта, как
минимум должен завопить файрвол. К нему может присоединиться и антивирус и
обозвать злобным вирусом :-)


DVM   (2011-01-29 11:27:00) [2]


> bagos   (28.01.11 19:38) 

Named Pipes
Memory Mapped Files
Mailslots
COM/DCOM
Sockets
WM_COPYDATA

и это еще не все методы.
Самый универсальный - сокеты


Ega23   (2011-01-29 11:06:00) [3]


> Данная передача между программами должна осущ. в xp,vista,
> seven. Программы будут запущенны одновременно.
>

А сразу это написать - не судьба?


sniknik   (2011-01-29 09:15:00) [4]

> Просто программы написаны на разных языках и выполняют разные функции, а результат необходимо передавать из одной в другую...
у нас использовались просто файлы... формат обговаривался для каждого конкретного случая. изврат тут только в том, что ini... т.е. файл формата, и приспособленный совершенно для другого.


KilkennyCat   (2011-01-29 07:29:00) [5]


> Германн ©   (29.01.11 00:55) [16]

ну там же объяснено:
Просто программы написаны на разных языках и выполняют разные функции, а результат необходимо передавать из одной в другую...


Германн   (2011-01-29 00:55:00) [6]

А тут вот
http://forum.sources.ru/index.php?showtopic=324087
вообще ищут супероригинальный способ!


bagos   (2011-01-29 00:44:00) [7]

Всем спасибо за информацию, буду копаться


Дмитрий Белькевич   (2011-01-28 23:22:00) [8]

смотри по ключевику ipc, например, вот это:

http://en.wikipedia.org/wiki/Inter-process_communication

Ну и delphi ipc или что-то в этом роде. Есть много вариантов, никаких особенных требований я не вижу, какой больше нравится - такой делай.


Сергей М.   (2011-01-28 23:21:00) [9]


> bagos


Ну тогда все наиболее простые-документированные-очевидные тебе выше перечислили - именованые каналы, шаровая память, виндовые сообщения-события .. IP, в конце концов, для извращенцев видящих дальше носа) ..


bagos   (2011-01-28 22:02:00) [10]

И запущенны на одной ОС, передача между ОС не предусматривается;)


bagos   (2011-01-28 22:01:00) [11]


> Сергей М

:)))
Данная передача между программами должна осущ. в xp,vista,seven. Программы будут запущенны одновременно.


Сергей М.   (2011-01-28 21:56:00) [12]


> по-существу


Ты возражаешь против slil.ru как против существа ?)

Да мало ли на "локальном компьютере" может быть ОС и хостов, друг о друге ничего не ведающих, но знающих при этом достаточно о Тырнете вообще и о "Сливе" в частности ?)


bagos   (2011-01-28 21:49:00) [13]

Да, забыл сказать, что скорость передачи/получения данных в данной задаче не имеет значения.


bagos   (2011-01-28 21:47:00) [14]

Благодарю за ответы, задача простая: программа (A) передает программе (B) число, программа (B) делает определенные операции и возвращает в (A) ответ в виде строки типа стринг, либо число типа Integer. Программа (А) выводит результат на экран пользователю. Процесс передачи данных одной программы другой производиться в цикле, скажем 300 раз. Все эти 300 раз А передает B число, после B посылает ответ в А в виде строки, как писал выше. Вот и все :) Наверно в данном случае подойдет самый простой способ, т.к. задача на мой взгляд не сильно трудная. Как думаете, достаточно ли в данном случае будет WM_COPYDATA ?


Вариант   (2011-01-28 21:35:00) [15]


> bagos   (28.01.11 20:48) [3]
> классные шутки, имелось ввиду передача числа или строки
> из одной программы в другую на локальномкомпьютере


Вариантов много. Один из вариантов
через SendMessage  с сообщением WM_COPYDATA.


sniknik   (2011-01-28 21:25:00) [16]

число через простое сообщение можно, строку через WM_COPY_DATA, это раз...
+ можно через разделяемые файлы в памяти, пайры,  сокеты, http (в последнее время мой люб..чаще используемый метод), com/активХ, ... было бы лучше если бы подробнее объяснил задачу, что за данные нужно передавать, зачем, и как представляешь будущее взаимодействие... (ну вот к примеру если com то программу смогут "подымать" простым обращением, а это уже немного шире чем "передача" строки)


Anatoly Podgoretsky   (2011-01-28 21:22:00) [17]

Named Pipes


bagos   (2011-01-28 21:19:00) [18]

по-существу будьте добры :)


bagos   (2011-01-28 20:48:00) [19]

классные шутки, имелось ввиду передача числа или строки из одной программы в другую на локальном компьютере


Сергей М.   (2011-01-28 19:47:00) [20]

Полагаю, чел нашлепался батонов и повзрослел-протрезвел)
Пора и slil.ru изучить


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо