Вниз
Скачать: CL | DM;

Сервер COM (.EXE)   Найти похожие ветки 

← →
Deltas ©   (2009-02-02 21:07) [0]

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


← →
Amoeba ©   (2009-02-02 21:31) [1]

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


← →
sniknik ©   (2009-02-02 21:58) [2]

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

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


← →
Сергей М. ©   (2009-02-03 08:27) [3]


> Deltas ©   (02.02.09 21:07)  


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


← →
Palladin ©   (2009-02-03 12:02) [4]


> Deltas ©   (02.02.09 21:07) 

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


← →
Григорьев Антон ©   (2009-02-03 14:46) [5]


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

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


← →
Deltas ©   (2009-02-03 16:14) [6]


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

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


← →
Сергей М. ©   (2009-02-03 17:03) [7]


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


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


← →
Сергей М. ©   (2009-02-03 17:07) [8]


> Deltas


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


← →
Loginov Dmitry ©   (2009-02-05 22:23) [9]

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


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


← →
имя   (2009-02-18 08:06) [10]

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



Страницы: 1 вся ветка

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



Память: 0.47 MB
Время: 0.008 c
1-1233598079
Deltas
2009-02-02 21:07
2010.01.31
Сервер COM (.EXE)


2-1260365833
Danco
2009-12-09 16:37
2010.01.31
Как получит письмо с почты?


15-1258128360
Кто б сомневался
2009-11-13 19:06
2010.01.31
Как скачать файл с помощью батника?


15-1259136487
oldman
2009-11-25 11:08
2010.01.31
Корпоративный ключ неправильный???


2-1260353826
Б
2009-12-09 13:17
2010.01.31
Как возвести целое число в n-ую степень в Pascal?




   Наверх