Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сервер COM (.EXE) [D5]


Deltas ©   (2009-02-02 21:07:00) 

Каким образом клиенты COM могут обращаться к серверу COM, который представляет собой исполнимый файл EXE? Сервер COM содержит один класс объектов, реализующий один интерфейс COM. В случае с библиотекой DLL, после ее регистрации в системном реестре, COM интерфейсы становятся доступны клиентским приложениям, и проблем не возникает...


  (2009-02-18 08:06:00) [1]

Удалено модератором


Loginov Dmitry   (2009-02-05 22:23:00) [2]

> Если у автора сервер, написанный не на Delphi/CBuilder,
> то простой запуск его не зарегистрирует


Даже сервер, написанный на D2007, регистрировать ничего не станет.


Сергей М.   (2009-02-03 17:07:00) [3]


> Deltas


И это касается не только Out-of-proc-серверов, но и InProc-серверов тоже.


Сергей М.   (2009-02-03 17:03:00) [4]


> Или не только?


Именно "не только".
В процессе регистрации сервера в реестре создаются в т.ч. записи, связывающие Имя/CLSID сервера с точным месторасположением файла, в котором реализована его фабрика класса.


Deltas   (2009-02-03 16:14:00) [5]


> Какие конкретно проблемы возникают у тебя с Out-of-Proc-
> сервером ?

Есть один непонятный момент. Если сервер COM (. EXE) не запущен непосредственно, то при запуске клиента COM и обращении к интерфейсу COM, сервер COM запускается автоматически. Откуда Windows знает, какой именно исполнимый файл запускать, если в реестре хранится только идентификатор класса вызываемого COM объекта? Или не только?


Григорьев Антон   (2009-02-03 14:46:00) [6]


> sniknik ©   (02.02.09 21:58) [2]
> exe тоже регистрируется в реестре, и еще проще чем dll,
> одноразовым запуской на выполнение

Не всякий сервер, это уже отсебятина разработчиков Delphi - регистрировать сервер при каждом запуске. А написанный строго по стандарту сервер при обычном запуске в реестр не лезет, а регистрирует себя только если он запущен с параметром /regserver в командной строке. Если у автора сервер, написанный не на Delphi/CBuilder, то простой запуск его не зарегистрирует.


Palladin   (2009-02-03 12:02:00) [7]


> Deltas ©   (02.02.09 21:07) 

А все жирным шрифтом выделять - это было обязательно?


Сергей М.   (2009-02-03 08:27:00) [8]


> Deltas ©   (02.02.09 21:07)  


Какие конкретно проблемы возникают у тебя с Out-of-Proc-сервером ?


sniknik   (2009-02-02 21:58:00) [9]

> В случае с библиотекой DLL, после ее регистрации в системном реестре
exe тоже регистрируется в реестре, и еще проще чем dll, одноразовым запуской на выполнение

>  COM интерфейсы становятся доступны клиентским приложениям, и проблем не возникает...
собственно, аналогично...


Amoeba   (2009-02-02 21:31:00) [10]

http://www.podgoretsky.com/ddp/OtherDDP.aspx
Delphi и COM. Анатолий Тенцер


Наверх

Титульная страница Поиск, карта сайта Написать письмо