Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.043 c
3-1141972736
worldmen
2006-03-10 09:38
2006.04.30
SQL-запрос. 4 таблицы.


2-1144925925
Случайный прохожий
2006-04-13 14:58
2006.04.30
Архивация в делфи


5-1130421252
Priest
2005-10-27 17:54
2006.04.30
Выпадающий список знач свойства и ReadOnly


15-1144520576
ArtemESC
2006-04-08 22:22
2006.04.30
стандартный debugger


3-1141724456
AlexanderT
2006-03-07 12:40
2006.04.30
Query и поле MEMO. База Paradox