Вниз
Скачать: CL | DM;

межпроцессное взаимодейтсвие   Найти похожие ветки 

 
DSKalugin ©   (2006-02-04 13:49) [0]

есть ДЛЛ, которую использует чужая программа. Этих программ может быть запущено несколько копий одновременно (разрешено). Как мне осуществить обмен данными между этими ДЛЛ-ками. Делается это для того чтобы они не дублировали действия друг друга. Например,
стартует вторая копия программы
проверяет наличие предыдущих запущенных копий
выясняет какие задачи эти копии выполняют(по ID задачи)
и берется за выполнение следующей по списку.

Список этот во внешнем источнике

Буду рад выслушать любые мысли/идеи, возможно это лучше решить каким-нибудь другим способом

Сейчас рассматриваю возможность использования атомов GlobalAddAtom, Mutex, memory mapped files


 
kaZaNoVa ©   (2006-02-04 14:33) [1]

еще  WM_CopyData, сокеты :)


 
Alex Konshin ©   (2006-02-04 15:00) [2]

и NamedPipes.
Бывают еще очереди, забыл как сервис называется.

MMF лучше всего подходят, но синхронизацию все равно нужно делать именованными событиями, семафорами или мутантами.
Но можно сделать на NamedPipes, тогда в перспективе можно будет допустить обработку с разных компьютеров, правда синхронизация усложнится.


 
DSKalugin ©   (2006-02-04 15:10) [3]


> WM_CopyData

А принимать сообщения как в ДЛЛ(форм нет)?


 
DSKalugin ©   (2006-02-04 15:11) [4]

маил слоты?
> Бывают еще очереди, забыл как сервис называется.


 
kaZaNoVa ©   (2006-02-04 15:28) [5]

DSKalugin ©   (04.02.06 15:10) [3]
А принимать сообщения как в ДЛЛ(форм нет)?

маленькое невидимое апи-окно ..


 
ZzzzZ   (2006-02-07 07:02) [6]

Разделяемая секция, не подходит?
Или промапленный фаил?


 
Fay ©   (2006-02-07 07:31) [7]

> Разделяемая секция, не подходит
Это хто? Critical section? Нет, не подходит, т.к a critical section can be used only by the threads of a single process


 
MBo ©   (2006-02-07 07:38) [8]

>Fay  
>Это хто? Critical section?

Нет, shared секция в DLL.
Но Дельфи не обеспечивает возможности их создания. Есть только нетривиальный обходной путь от Peter Vones



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
3-1141658956
Дельфятник
2006-03-06 18:29
2006.04.30
Не осилил вопросы по транзакциям на собеседовании


15-1144392786
TUser
2006-04-07 10:53
2006.04.30
Выносить или нет?


15-1144641761
Rentgen
2006-04-10 08:02
2006.04.30
Датчик движения и Agent V на K750i


2-1145000927
elfebet
2006-04-14 11:48
2006.04.30
Как в ярлык запихнуть иконку?


15-1144599489
Yanis
2006-04-09 20:18
2006.04.30
Опять...




   Наверх