Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Для чего COM компанентам, в частности, ActiveX нужен реестр, (http://forum.oszone.net/showthread.php?t=30276)

Sharkky 22-09-2003 07:47 208029

Я могу вспомнить, из когда-то прочитанного, только такую проблему, которую решает GUID: существует
возможность, что разные разработчики будут использовать одинаковые имена для своих классов и интерфейсов. С целью
этого избежать каждому COM объекту выдаётся свой номер.

Собственно, вопрос: 1. Если я хочу использовать ActiveX элемент в своей программке, и при этом хочу, чтобы
она работала без инсталяции, можно ли этого достичь?
Мне кажеться это возможным, потому что, по моим представлениям, COM использует реестр, только для
регистрации GUID'ов. А если я знаю точно, что за COM компонет у меня есть, знаю что он делает и какие у него
интерфейсы, то я могу сгенерировать ему GUID, использовать его, но в реестр ничего не записывать.

2. Я сейчас изучаю ATL с целью создания нужного мне ActiveX, не окажется ли так, что в ATL от природы зашит инстинкт лезть в реестр? То есть, существует, например, какой-нибудь конструктор или метод одного из базовых классов, который делает кучу всяких полезных вещей, но при этом ещё и в реестр лезет?

3. На самом деле, мне нужно всего лишь связать, некоторыую структуру данных с её отображением на экране. В
принципе, мне хотелось бы, чтобы штуковина работала и в другую сторону: обрабатывала действия пользователя. Может быть для этого, вообще, не нужен COM, может быть хватит MFC? (MFC я знаю плохо, поэтому и задаю такой плохо
сформулированный вопрос, но надеюсь, кто-нибудь приведёт мне пример как можно ЭТО сделать, или чтиво подскажет)

4. Если честно, я, вообще, плохо понимаю как работает Windows. Как то, что мы видим на экране, связанно с объектами С++. То есть, я не отказался бы от того, чтобы создать такую связь с нуля, в целях обучения. Примеры? Почитать?
Я конечно умею рисовать кнопочку в редакторе ресурсов, потом запускать ClassWizrd и писать нужный код, там
где написанно "// TODO: Place your code here", но, вы понимаете, мне чего-то не хватает...

vasketsov 24-09-2003 22:13 208030

Sharkky
Цитата:

Если я хочу использовать ActiveX элемент в своей программке, и при этом хочу, чтобы
она работала без инсталяции, можно ли этого достичь?
Да. Только непонятно, зачем в этом случае объект описывать как COM-объект. Никто другой его использовать не сможет, а ты и так все про него значешь.


Цитата:

COM использует реестр, только для
регистрации GUID'ов
Нет. В описании COM вообще мало что про реестр есть. Реестр используется для ХРАНЕНИЯ и ПОИСКА, а не для генерации.


Цитата:

в ATL от природы зашит инстинкт лезть в реестр?
Нет. Но там есть шаблон, который генерит код регистрации - вот он будет лазить а реестр.

Читать надо Petzold-а.


Время: 13:29.

Время: 13:29.
© OSzone.net 2001-