![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сервер 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. Анатолий Тенцер