Конференция "Corba" » COM сервер в Win32 Service [Delphi, Windows]
 
  • Djazz (13.09.06 17:26) [0]
    Добрый день!

    Необходимо написать COM сервер который работал бы как Service в WinХP. Создаю Service Application, тип Win32, стартует вручную.
    Потом добавляю Com Object (ciMultiInstance, tmBoth) как обычно в COM серверах, добавляю в интерфей методы, пишу их реализацию. Приложение нормально регистрируется, его видать среди сервисов, также доступна билиотека типов. Вручную запускаю Service, стартует от имени текущей учётной записи. Пытаюсь приконектиться клиентом, через несколько секунд вылезает сообщение, возникающее когда пытаются завершить COM сервер при подключенных клиентах (типа есть ссылка, а вы приложение закрываете), хотя Service как работал так и работает.
    В диспетчере задач выяснилось, что клиент даже и не коннектится к уже существующему процессу сервиса... он создаёт новый EXE процесс (также от имени текущей учётной записи и внимание, Instansing выставлен как ciMultiInstance - проверено) и т.к. этот exeшник реализован в виде сервиса, то последний благополучно тут же умирает, как следствие стандартный диалог о "есть актвные соединения, вы уверены, что хотите закрыть приложение и т.п.".

    Если кто решал такую задачу, пожайлуста, помогите разобраться - понять сие поведение.

    P.S. Буду благодарен за любую информацию по использованию COM в Sevice, даже в других средах.
  • Ломброзо © (13.09.06 22:35) [1]
    Написать приложение под COM+ (MTS), проинсталлировать, поставить в настройках приложения галку "Запустить как сервис". И всё. Exe-сервера - скверная штука и вообще прошлый век.
  • Shaman_Naydak (14.09.06 14:09) [2]
    Что-й то у нас один и тот же вопрос в 2 ветвях?

    Уточнение Ломброзо:
    Так просто с COM+, который входит в Win XP или 2003 server.. на 2000 не пройдет, однако.
  • vlad_ri (31.10.06 02:38) [3]
    To Shaman_Naydak: Если речь о Win2k Server то всё работает, про Professional не знаю, давно не сталкивался. COM+ входит в Win2k Server.
  • Eugene_K © (27.09.07 18:33) [4]
    Если проблема еще жива (все-таки год прошел), подтвердите, отвечу.
  • Сергей М. © (28.09.07 10:53) [5]
 
Конференция "Corba" » COM сервер в Win32 Service [Delphi, Windows]
Есть новые Нет новых   [120351   +26][b:0][p:0]