Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2010.01.31;
Скачать: [xml.tar.bz2];

Вниз

Сервер 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.005 c
1-1234983949
alexis
2009-02-18 22:05
2010.01.31
перенаправить с одного порта на другой


3-1227270604
nst
2008-11-21 15:30
2010.01.31
Хранимая процедура в запросе


15-1259345408
werty
2009-11-27 21:10
2010.01.31
что такое mailto?


15-1258908985
_
2009-11-22 19:56
2010.01.31
Бьются URL в DowloadMaster.


1-1235866689
Misha Uskov
2009-03-01 03:18
2010.01.31
Просмотр JPEG с нестандартным EXIF IFD





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский