Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.26;
Скачать: CL | DM;

Вниз

Обмен данными между двумя приложениями   Найти похожие ветки 

 
Анатолий   (2002-12-15 19:05) [0]

Существует проблема:
надо организвать обмен данными между двумя запущенными программами, немогу выбрать механизм передачи данных, sendmessage и буфер обмена отпадают, Если делать через OLE, то надо регистрировать одну из программ, чтобы получить CLSID, как поступить ? сейчас увидел мессагу в форуме от 2000 года, в ней что то о совместной памяти двух приложений, Memory mapped files по-моему, если кто нибудь делал что то подобное или представляет себе процесс шлите всё на почту !!!!
очень надо !


 
Sha ©   (2002-12-15 19:47) [1]

А самому поискать трудно?


 
Юрий Зотов ©   (2002-12-15 20:32) [2]

1. Почему отпадают SendMessage/PostMessage/PostThreadMessage и им подобные? Если из-за размера передаваемой информации, то обратите внимание на WM_COPYDATA. Это, наверное, самый простой способ.

2. Memory mapped file - немного сложнее, но тоже решает задачу. Сделайте поиск слова CreateFileMapping или посмотрите простой пример здесь:
http://www.delphikingdom.com/helloworld/samples_win.htm
(пример № 1): http://delphi.mtu-net.ru/zip/cunnings.zip



 
Оливейра ©   (2002-12-15 21:24) [3]

В принципе, если вы знакомы с OLE...

см. GlobalAlloc, CreateStreamOnHGlobal, GetHGlobalFromStream и интерфейс IStream.

Сам полученный HGlobal можно передавать посредством SendMessage.


 
int64 ©   (2002-12-15 22:07) [4]

Ещё можно добавить DDE, pipes, сокеты.
Примеры намылил (тамже WM_CopyData и MMF).
А также порекомендую интересный пример связи с подключениями к событиям СОМ через IConnectionPointContainer:
http://www.techvanguards.com/files/DelphiSinkDemo.zip



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
3-85855
jen_bond
2002-12-07 09:54
2002.12.26
Округление


6-86072
RomanRom2
2002-10-29 14:58
2002.12.26
Вернуть IP адрес подключаемого компа к моему серверу


14-86168
krotik
2002-12-06 17:16
2002.12.26
Разница между Professional и Enterprise


3-85869
atmamont
2002-12-08 22:30
2002.12.26
dblookupcombo


3-85852
BorisUK
2002-12-06 15:10
2002.12.26
как прервать запрос к базе