Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.05.08;
Скачать: 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 вся ветка

Текущий архив: 2011.05.08;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.01 c
15-1296073510
светик
2011-01-26 23:25
2011.05.08
курсовая по ооп


4-1247905415
imtec
2009-07-18 12:23
2011.05.08
Загрузка процессора


15-1296111273
Jeer
2011-01-27 09:54
2011.05.08
Проблема парсинга TSQLQuery (dbExpress)..


3-1258102915
aleks
2009-11-13 12:01
2011.05.08
Нужна ли установка MSSQL на компьютере клиента?


2-1296736634
zlodey
2011-02-03 15:37
2011.05.08
непонятная ошибка