Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.004 c
2-1296601833
Тимоха111
2011-02-02 02:10
2011.05.08
импорт функции в длл


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


2-1296293177
Gu
2011-01-29 12:26
2011.05.08
Определить разрядность ОС


2-1296564138
Сергей
2011-02-01 15:42
2011.05.08
Как расширить атрибуты файла?


15-1296073510
светик
2011-01-26 23:25
2011.05.08
курсовая по ооп





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский