Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

межпроцессное взаимодейтсвие [D6, WinXP]


DSKalugin ©   (2006-02-04 13:49:00) 

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

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

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

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


MBo   (2006-02-07 07:38:00) [1]

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

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


Fay   (2006-02-07 07:31:00) [2]

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


ZzzzZ   (2006-02-07 07:02:00) [3]

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


kaZaNoVa   (2006-02-04 15:28:00) [4]

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

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


DSKalugin   (2006-02-04 15:11:00) [5]

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


DSKalugin   (2006-02-04 15:10:00) [6]


> WM_CopyData

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


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

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

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


kaZaNoVa   (2006-02-04 14:33:00) [8]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо