![]() |
|
Модераторы: MetalFan |
![]()
|
|
| Felan |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: нет Всего: 7 |
Мне нужно сделать внейшний ком-сервер, так что бы все клиенты работали с одним объектом.
Сделал проект в TurboDelphi, обычное VCL приложение пустое. Добавил к нему Automation Object. Параметры: Способ создания - ciMultiInstance, потоковая подель - tmFree Изменил фабрику классов так, что бы был синглтон, так, как описано Урок 9. COM-сервер средствами Delphi. В конструкторе формы VCL приложения создаю ком-объект:
Имею странный эффект: Случай 1: Запускаю exe, запуская IE, на HTML страничке создаю свой COM-объект
Запускаю еще одну такую страничку, т.е. вышеприведенный код выполняется дважды. В логе имею следующее:
Т.е. мой объект как и положено создался один раз и все. Все остальные работают с ним. Что подтверждается одинаковым значением MainThreadID, полученным в тестовом методе моего объекта. Случай 2: Делаю все тоже самое, но! НЕ запускаю exe. Т.е. при запросе объекта с HTML страницы должен запустится exe автоматитчески. В логе имею:
Т.е. при таком запуске exe два раза выполняется метод моего ком-объекта: procedure Initialize; override; Вопрос 1: Почему так происходит, и как от этого избавится? Приложение должно работать с определенными ресурсами. Совершенно необходимо что бы initialize вызывался только один раз даже во втором случае. Вопрос 2: Я не понял, как он у меня зарегистрировался в реестре. regsvr32 отказывается его регистрировать и деригистрировать. Как это можно сделать для внешних серверов? ЗЫЖ Есть у кого-нить статья какая-нить именно по внешним ком-серверам? А то че-то у меня ясности в этом вопросе нет :( -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
||||||||
|
|||||||||
![]()
|
| Правила форума "Delphi: ActiveX/СОМ/CORBA" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |