![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
COM, ActiveX и записи в реестре..
Ihor Osov'yak © (2003-09-08 12:20:00)
Понятно, что каждый COM обьект должен в HKEY_LOCAL_MACHINE,
SOFTWARE\Classes\CLSID иметь свой CLSID..
Но вот соотв. запись для своего ProgID обязан ли он иметь (это в SOFTWARE\Classes)? Или это дело добровольное?
Также смущает тот факт, что некоторые СОМ имеют в SOFTWARE\Classes\CLSID ключ ProgID, а вот сомого раздела для ProgID в SOFTWARE\Classes то нету... Нормальная ли это ситуация, или это безобидное нарушение рекомендаций, или все-же "чревато"
.. Похожий вопрос и по отношению к TypeLib.. То есть обязательно ли наличие? (понятно, что без ссылки на TypeLib разработчик не сможет сделать импорт), но уже готовые изделия по идее должны работать корректно?
Ihor Osov'yak (2003-09-08 14:05:00) [1]
:-)
nikkie (2003-09-08 13:40:00) [2]
надо же...
Ihor Osov'yak (2003-09-08 13:32:00) [3]
сорри, это вернее виртуальное создание, формируемое на основании HKLM\SOFTWARE\Classes и HKСU\SOFTWARE\Classes, во всяком случае для NT..
Ihor Osov'yak (2003-09-08 13:28:00) [4]
2 [1] nikkie © (08.09.03 13:12)
HKEY_CLASSES_ROOT - это ссылка на HKLM\SOFTWARE\Classes
nikkie (2003-09-08 13:12:00) [5]
А причем здесь вообще HKLM? Класс должен быть зарегистрирован в
HKEY_CLASSES_ROOT\CLSID\{guid}
Достаточно под этим ключом создать ключ InProcServer32 со значениями (Default) и ThreadingModel.
TypeLib для COM объекта не требуется, MS сама вроде многие интерфейсы предоставляет в виде хедеров, а не typelib.