![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передача данных между программами
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 изучить