![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
межпроцессное взаимодейтсвие [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, сокеты :)