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

Работа с семафорами   Найти похожие ветки 

 
NED   (2003-06-18 19:28) [0]

Подскажите, как работать с одним семафором из разных, автономных программ?


 
MBo ©   (2003-06-19 05:38) [1]

Сделать его именованным.


 
Ned ©   (2003-06-19 13:13) [2]

Так, а дальше? Делаю именнованным, точнее так и сделал с самого начала, но незадача в том, что все здорово работает в приложении, которое его создало, другое же приложение, которое к нему обращается не получает к семафору доступа.
В связи с чем вопрос, как обратиться к поименованному семафору по имени, из приложения которое его не создавало?


 
panov ©   (2003-06-19 13:18) [3]

Код приводи. Ясновидцев здесь очень мало.


 
Ned ©   (2003-06-19 14:36) [4]

Вот и код:
1. Создание семафора (приложение 1)
semaphore_name := "Plugin_semaphore_1";
( nil, 1, 10000, PChar(semaphore_name) Вот и код:
1. Создание семафора (приложение 1)
semaphore_name := "Plugin_semaphore_1";
hSem := CreateSemaphore(nil, 1, 10000, PChar(semaphore_name)); // тут hSem : THandle, он передается в приложение 2 через параметр командной строки

2. Увеличиваем значение семафора при открытии приложения 2
ReleaseSemaphore(hSem, 1, nil);

3. Уменьшаем значение семафора при закрытии приложения 2
WaitReturn := WaitForSingleObject(hSem, 0);

4. В приложении 1 (при его закрытии) смотрим на семафор, чтобы узнать, есть ли у нас запущенные приложения 2
WaitReturn := WaitForSingleObject(hSem, 0);

Всё.


 
MBo ©   (2003-06-19 15:09) [5]

не передавай THandle, а открывай в другом процессе по имени



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

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



Память: 0.46 MB
Время: 0.015 c
1-68360
Relaxxx
2003-08-07 10:58
2003.08.21
MonthCalendar и выходные дни


1-68355
Yuraz
2003-08-08 13:08
2003.08.21
Мастера, как после trunc(Date) обратно получить дату?


1-68253
Zhenka
2003-08-09 12:56
2003.08.21
Подскажите как удалить повторяющиеся символы в текстовом файле


3-68205
Sedunov Vitaly
2003-07-28 10:38
2003.08.21
Как отловить DblClick на разделителе колонок?


6-68433
Plaha999
2003-06-17 15:13
2003.08.21
TWebBrowser




   Наверх