Главная страница
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.04 c
4-1135151640
vlad_Ladynin
2005-12-21 10:54
2006.03.12
Запись и воспроизведение действий пользователя.


2-1140508450
Сенокур Петя
2006-02-21 10:54
2006.03.12
Image.Picure.LoadFromFile почему падает?


3-1136992175
мускул
2006-01-11 18:09
2006.03.12
Синхронизация таблиц


4-1135118283
Delphi_is_cool
2005-12-21 01:38
2006.03.12
Как добавить строку


1-1139302243
MM
2006-02-07 11:50
2006.03.12
Автоматическая проверка времени