IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Как 2 программы могут обмениваться данными?
Гость
сообщение 11.06.2005 22:32
Сообщение #1


Гость






Вот такой вот интересный вопрос... 2 программы на одном компьютере как могут обменяться данными?
Ну не сокеты конечноsmile.gif Все-таки комп один, хотя почему и нет.. но все-таки с сокетами в Delphi7 ужасно (если винда без паков)

Можно обменяться через файл, но это слишком примитивно, т.к. надо постоянно дожидаться новой записи из файла это слишком большая нагрузка - непозволительно.

Может можно как через память обмен совершить напрямую сообщениями?

Хочу сделать что-то вроде такой схемы:

При вызове такого-то расширения стартует моя программа. Если копия уже открыта, то эта закрывается и передает свой параметр (параметр в командной строке) первой, а сам на закрытие...
таким образом активна постоянно одна прога, а копии отсылают только свои командные строки, с которыми они были вызваны...
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
Dark
сообщение 13.06.2005 10:02
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


помоему где то на форуме видел =) поиском не буду искать...
Винда обменивается сообщениями, вот их и посылаешь другому приложению!
Дальше, при создании окна есть такой параметр который следит за копиями окна (по моему так) и его можно проконтролировать

это низкий уровень WINAPI =0))


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 13.06.2005 18:43
Сообщение #3


Гость






а это именно обычные строчные сообщения? Или обмениваться чем угодно не получится?
По-моему как-то я читал про обмен через какую-то TMemoryStream то ли что-то в этом направлении.... ток на данный момент забыл эту фишкуsmile.gif
 К началу страницы 
+ Ответить 
Dark
сообщение 13.06.2005 18:58
Сообщение #4


Знаток
****

Группа: Пользователи
Сообщений: 408
Пол: Мужской

Репутация: -  3  +


Нет, я имел ввиду что программам можно посылать сообщения при помощи менеджера сообщений винды. У каждой виндопрограммы есть свой обработчик этих сообщений, например WM_EXIT - и оно закрывается =)))
Соответственно есть пользовательское сообщение у него 2 параметра, через них можно передавать инфу...

Поищи по WM_EXIT либо в хелпе дельфи либо по инету...


--------------------
- Где я?
- Во тьме.
- В какой тьме?
- Во тьме твоего мозга.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Shadow
сообщение 23.06.2005 2:48
Сообщение #5


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


это динамический обмен данными DDE (Dinamical Data Exchange) одно приложение работает как сервер другое как клиент
смотри компоненты DdeServerConv , DdeClientConv , DdeServerItem,DdeClientItem
---------
книга программирование в DELPHI 7 А.Я.Архангельский стр. 461


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hiv
сообщение 23.06.2005 10:10
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


DDE не советую пользоваться, их поддержка в винде приостановлена, в смысле они конечно есть, но баги в них не правят и не развивают. А багов там много - я эту вещь пробовал... (правда его сетевую версию NetDDE)


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Romtek
сообщение 28.06.2005 11:16
Сообщение #7


Знаток
****

Группа: Пользователи
Сообщений: 303
Пол: Мужской
Реальное имя: Роман

Репутация: -  2  +


Я в этом не уверен, но может запустить поток в одной программе. А другая программа его "словит" и завершит?
У потока будет свой ID и его можно будет определить обеими программами. Сам не пробовал, не знаю.


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 26.07.2025 11:37
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"