Форум: "Начинающим";
Текущий архив: 2011.05.08;
Скачать: [xml.tar.bz2];
ВнизПередача данных между программами Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.034 c