Sharkky
22-09-2003, 07:47
Я могу вспомнить, из когда-то прочитанного, только такую проблему, которую решает GUID: существует
возможность, что разные разработчики будут использовать одинаковые имена для своих классов и интерфейсов. С целью
этого избежать каждому COM объекту выдаётся свой номер.
Собственно, вопрос: 1. Если я хочу использовать ActiveX элемент в своей программке, и при этом хочу, чтобы
она работала без инсталяции, можно ли этого достичь?
Мне кажеться это возможным, потому что, по моим представлениям, COM использует реестр, только для
регистрации GUID'ов. А если я знаю точно, что за COM компонет у меня есть, знаю что он делает и какие у него
интерфейсы, то я могу сгенерировать ему GUID, использовать его, но в реестр ничего не записывать.
2. Я сейчас изучаю ATL с целью создания нужного мне ActiveX, не окажется ли так, что в ATL от природы зашит инстинкт лезть в реестр? То есть, существует, например, какой-нибудь конструктор или метод одного из базовых классов, который делает кучу всяких полезных вещей, но при этом ещё и в реестр лезет?
3. На самом деле, мне нужно всего лишь связать, некоторыую структуру данных с её отображением на экране. В
принципе, мне хотелось бы, чтобы штуковина работала и в другую сторону: обрабатывала действия пользователя. Может быть для этого, вообще, не нужен COM, может быть хватит MFC? (MFC я знаю плохо, поэтому и задаю такой плохо
сформулированный вопрос, но надеюсь, кто-нибудь приведёт мне пример как можно ЭТО сделать, или чтиво подскажет)
4. Если честно, я, вообще, плохо понимаю как работает Windows. Как то, что мы видим на экране, связанно с объектами С++. То есть, я не отказался бы от того, чтобы создать такую связь с нуля, в целях обучения. Примеры? Почитать?
Я конечно умею рисовать кнопочку в редакторе ресурсов, потом запускать ClassWizrd и писать нужный код, там
где написанно "// TODO: Place your code here", но, вы понимаете, мне чего-то не хватает...
возможность, что разные разработчики будут использовать одинаковые имена для своих классов и интерфейсов. С целью
этого избежать каждому COM объекту выдаётся свой номер.
Собственно, вопрос: 1. Если я хочу использовать ActiveX элемент в своей программке, и при этом хочу, чтобы
она работала без инсталяции, можно ли этого достичь?
Мне кажеться это возможным, потому что, по моим представлениям, COM использует реестр, только для
регистрации GUID'ов. А если я знаю точно, что за COM компонет у меня есть, знаю что он делает и какие у него
интерфейсы, то я могу сгенерировать ему GUID, использовать его, но в реестр ничего не записывать.
2. Я сейчас изучаю ATL с целью создания нужного мне ActiveX, не окажется ли так, что в ATL от природы зашит инстинкт лезть в реестр? То есть, существует, например, какой-нибудь конструктор или метод одного из базовых классов, который делает кучу всяких полезных вещей, но при этом ещё и в реестр лезет?
3. На самом деле, мне нужно всего лишь связать, некоторыую структуру данных с её отображением на экране. В
принципе, мне хотелось бы, чтобы штуковина работала и в другую сторону: обрабатывала действия пользователя. Может быть для этого, вообще, не нужен COM, может быть хватит MFC? (MFC я знаю плохо, поэтому и задаю такой плохо
сформулированный вопрос, но надеюсь, кто-нибудь приведёт мне пример как можно ЭТО сделать, или чтиво подскажет)
4. Если честно, я, вообще, плохо понимаю как работает Windows. Как то, что мы видим на экране, связанно с объектами С++. То есть, я не отказался бы от того, чтобы создать такую связь с нуля, в целях обучения. Примеры? Почитать?
Я конечно умею рисовать кнопочку в редакторе ресурсов, потом запускать ClassWizrd и писать нужный код, там
где написанно "// TODO: Place your code here", но, вы понимаете, мне чего-то не хватает...