Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.036 c
9-1126069315
4ECHOK
2005-09-07 09:01
2006.03.12
Сценарий поведения объекта.


2-1140446258
s&r
2006-02-20 17:37
2006.03.12
[?]RxRichEdit


15-1139936989
PARUS
2006-02-14 20:09
2006.03.12
Загрузка...


2-1140430400
Елизавета
2006-02-20 13:13
2006.03.12
CheckBox как столбец компонента TStringGrid


3-1138017617
HabarovSergey
2006-01-23 15:00
2006.03.12
DB-компоненты, многопользовательская среда, вылазят грабли




   Наверх