![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Синхронизация процессов [Delphi]
Chuck Loon © (2006-03-23 15:38:00)Необходимо передать данные из одного процесса в другой.Для этого был разработан out-of-process singleton COM server. Но всё работало пока его не вызвали из сервиса-запускается второй экземпляр EXE-файла и как следствие второй экземпляр COM обьекта. Как этого избежать?
Romkin (2006-03-27 12:32:00) [1]Сделай запуск сервиса под именем того пользователя, что и не-сервиса. Дя разных пользователей запускаются разные сервера
Chuck Loon (2006-03-24 14:41:00) [2]Он и есть синглетон в пределах одного пользователя но в случаи с СЕРВИСОМ это не помогает (видать что то с правами процесса)
Polevi (2006-03-24 14:21:00) [3]нужен синглетон
Chuck Loon (2006-03-24 11:44:00) [4]Всё что вы говорите - правильно и я так сделал но проблема то в том что при запуске сервера из под СЕРВИСА (СИСТЕМНАЯ СЛУЖБА WINDOWS) нихрена не получается.. появляется второй экземпляр.Вот ПРОБЛЕМА !
GanibalLector (2006-03-24 00:17:00) [5]Вообще-то не очень "въехал" в вопрос,но в силу того,что расположен в конфе "СОМ" отвечу.
Так вот,если при создании СОМ-сервера указать опцию Multiple Instance, то при нескольких запросах клиентов(расположенных в разных процессах) все они будут обращаться к ОДНОМУ серверу.Если же указать Single, то для каждого клиента будет создаваться новый экземпляр сервера.
Chuck Loon (2006-03-23 18:26:00) [6]В этом вся и проблема. Нужно отучить сервис запускать второй экземпляр EXE-файла, а использовать уже существующий. Т.е. нужно запустить процесс не с правми сервиса, а с правами обычного приложения
Polevi (2006-03-23 17:38:00) [7]второй экземпляр, какой же это синглетон