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

Вниз

Задержка при создании com обьекта   Найти похожие ветки 

 
BKV   (2005-04-26 13:24) [0]

Всем доброго времени суток.
Как при создании СОМ сервера не возвращать управление до тех пор, пока он полностью не инициализируется?
Например.
Есть программа (.exe).
К ней добавлен СОМ обьект.
Из внешней программы создается этот СОМ обьект:
  COMApp := TCOmApplication.Create(self)
Это происходит мгновенно. Запускается Out-of-process сервер и возвращается необходимый СОМ обьект.
А необходимо вернуть созданный СОМ обьект только после того как запущенный COM server полностью проинициализирует себя.

Как это сделать?
Заранее благодарен


 
msgipss   (2005-04-29 20:17) [1]

Да аналогичная проблема, приложение сервис win32 имеет com сервер. И при запуске сервиса, происходит инициализация. Если же сервис остановлен и сервер com вызывают клиенты, как сделать чтобы происходил запуск сервиса или же если сервис не запущен (не прошла инициализация) не запускать данный com сервер ?


 
Набережных С. ©   (2005-05-03 14:10) [2]


> BKV   (26.04.05 13:24)


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

Так оно и происходит. Сначала подсистема СОМ запускает сервер, тот полностью инициализируется, регистрирует свои фабрики классов. Только после этого COM может создать затребованный клиентом объект, получить у него интерфейс и передать его клиенту. Т.е. к моменту получения клиентом интерфейса сервер полностью проинициализирован. Если тебе необходимо что-то сделать при запуске или создании объекта, то и размещай свой код или в секции инициализации, либо в конструкторе объекта или его методе Initialize, если такой есть.

> msgipss   (29.04.05 20:17) [1]

Имхо, только созданием вспомогательного сервера, который следит за состоянием основного. При этом права на запуск основного будут только у дополнительного. Примерно так, конкретные сценарии можно разные придумать



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
1-1139473306
nastya
2006-02-09 11:21
2006.03.12
Не видно MainMenu в форме


1-1139485756
Agt
2006-02-09 14:49
2006.03.12
Interactive service


15-1140197456
Ученик чародея
2006-02-17 20:30
2006.03.12
Как можно уменьшить сложность разработки больших комплексов.


8-1127967967
Mad_Unlocker
2005-09-29 08:26
2006.03.12
Векторная графика


15-1140406651
никак не получается
2006-02-20 06:37
2006.03.12
таблицы