Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.31;
Скачать: 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 вся ветка

Текущий архив: 2010.01.31;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
2-1260378529
Nostalgia
2009-12-09 20:08
2010.01.31
Классы


2-1259607144
andrewtitoff
2009-11-30 21:52
2010.01.31
Задняя форма


15-1259515027
POOP
2009-11-29 20:17
2010.01.31
Проблема с печатью pdf.


2-1260279624
Matveih1
2009-12-08 16:40
2010.01.31
Поиск на примапином диске


6-1210260418
Zoom
2008-05-08 19:26
2010.01.31
UDP как передать/принять буфер?