Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

COM сервер в Win32 Service   Найти похожие ветки 

 
Jimmm   (2006-09-13 17:33) [0]

Добрый день!

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

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

P.S. Буду благодарен за любую информацию по использованию COM в Sevice, даже в других средах.


 
Сергей М. ©   (2006-09-14 09:54) [1]

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


 
tesseract ©   (2006-09-14 10:35) [2]

сделать можно - но через API,  а не Service Application + Comserver.


 
Случайно   (2006-09-14 12:19) [3]

http://kladovka.net.ru/download.cgi?id=259


 
Shaman_Naydak   (2006-09-14 14:00) [4]

> Сергей М.
Отлично совмещаются и очень удобно, безапелляционный вы наш.

> Jimmm
Основная загвоздка - регистрировать свой ком-сервер уже в потоке исполнения сервиса.. но раз ссылку на пример вам дали, то собственно, помощь уже, думаю, не требуется.


 
Jimmm   (2006-09-14 15:36) [5]

> Сергей М.
Того требует задача - нужен именно сервис и общаться с ним удобнее всего посредством COM

> Случайно
Спасибо Вам, очень хороший пример

> Shaman_Naydak
Да, именно, в этом и была проблема... разобрался, спасибо



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

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.045 c
2-1167984561
bmw
2007-01-05 11:09
2007.01.28
процеси и потоки


15-1168186755
VolJinn
2007-01-07 19:19
2007.01.28
Еще задачка :)


2-1167993756
Marat
2007-01-05 13:42
2007.01.28
непонятки с памятью


15-1167919316
1111
2007-01-04 17:01
2007.01.28
AutoCAD


3-1163062331
novill
2006-11-09 11:52
2007.01.28
IB 7.5 Как в триггере изнать сколько записей вернул подзапрос?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский