Главная страница
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.048 c
2-1140886598
Radagast
2006-02-25 19:56
2006.03.12
Invalid floating point operation


2-1140528973
Compton's G
2006-02-21 16:36
2006.03.12
Функция сортирования


2-1140421864
Ио
2006-02-20 10:51
2006.03.12
Вопрос по времени


8-1128537775
LAnd
2005-10-05 22:42
2006.03.12
Вырезать часть jpeg и сохранить ее в другой jpeg


2-1140728066
lex85
2006-02-23 23:54
2006.03.12
кнопка button1