Вниз
Скачать: CL | DM;

Передача данных между программами   Найти похожие ветки 

← →
bagos   (2011-01-28 19:38) [0]

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


← →
Ega23 ©   (2011-01-28 19:44) [1]

Через slil.ru


← →
Сергей М. ©   (2011-01-28 19:47) [2]

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


← →
bagos   (2011-01-28 20:48) [3]

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


← →
bagos   (2011-01-28 21:19) [4]

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


← →
Anatoly Podgoretsky ©   (2011-01-28 21:22) [5]

Named Pipes


← →
sniknik ©   (2011-01-28 21:25) [6]

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


← →
Вариант   (2011-01-28 21:35) [7]


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


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


← →
bagos   (2011-01-28 21:47) [8]

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


← →
bagos   (2011-01-28 21:49) [9]

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


← →
Сергей М. ©   (2011-01-28 21:56) [10]


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


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

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


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


> Сергей М

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


← →
bagos   (2011-01-28 22:02) [12]

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


← →
Сергей М. ©   (2011-01-28 23:21) [13]


> bagos


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


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

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

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

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


← →
bagos   (2011-01-29 00:44) [15]

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


← →
Германн ©   (2011-01-29 00:55) [16]

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


← →
KilkennyCat ©   (2011-01-29 07:29) [17]


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

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


← →
sniknik ©   (2011-01-29 09:15) [18]

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


← →
Ega23 ©   (2011-01-29 11:06) [19]


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

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


← →
DVM ©   (2011-01-29 11:27) [20]


> bagos   (28.01.11 19:38) 

Named Pipes
Memory Mapped Files
Mailslots
COM/DCOM
Sockets
WM_COPYDATA

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


← →
Anatoly Podgoretsky ©   (2011-01-29 13:20) [21]

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.006 c
2-1296648381
NieL
2011-02-02 15:06
2011.05.08
Сформировать список


15-1293694941
Kerk
2010-12-30 10:42
2011.05.08
С новым годом!


15-1295598707
12
2011-01-21 11:31
2011.05.08
Помогите правильно написать на немецком


1-1253459003
kiki
2009-09-20 19:03
2011.05.08
Top Most


15-1295873780
MonoLife
2011-01-24 15:56
2011.05.08
Открыть URL адрес в папке проводника




   Наверх