Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Илья Гость
|
Добавлено: Пн Сен 22 2003 07:18 Заголовок сообщения: Для чего COM компанентам, в частности, ActiveX нужен реестр, и как избежать инсталяции? |
|
|
Я могу вспомнить, из когда-то прочитанного, только такую проблему, которую решает GUID: существует
возможность, что разные разработчики будут использовать одинаковые имена для своих классов и интерфейсов. С целью
этого избежать каждому COM объекту выдаётся свой номер.
Собственно, вопрос: 1. Если я хочу использовать ActiveX элемент в своей программке, и при этом хочу, чтобы
она работала без инсталяции, можно ли этого достичь? Мне кажеться это возможным, потому что, по моим представлениям, COM использует реестр, только для
регистрации GUID'ов. А если я знаю точно, что за COM компонет у меня есть, знаю что он делает и какие у него
интерфейсы, то я могу сгенерировать ему GUID, использовать его, но в реестр ничего не записывать.
2. Я сейчас изучаю ATL с целью создания нужного мне ActiveX, не окажется ли так, что в ATL от природы зашит
инстинкт лезть в реестр? То есть, существует, например, какой-нибудь конструктор или метод одного из базовых
классов, который делает кучу всяких полезных вещей, но при этом ещё и в реестр лезет?
3. На самом деле, мне нужно всего лишь связать, некоторыую структуру данных с её отображением на экране. В
принципе, мне хотелось бы, чтобы штуковина работала и в другую сторону: обрабатывала действия пользователя. Может
быть для этого, вообще, не нужен COM, может быть хватит MFC? (MFC я знаю плохо, поэтому и задаю такой плохо
сформулированный вопрос, но надеюсь, кто-нибудь приведёт мне пример как можно ЭТО сделать, или чтиво подскажет) 4. Если честно, я, вообще, плохо понимаю как работает Windows. Как то, что мы видим на экране, связанно с
объектами С++. То есть, я не отказался бы от того, чтобы создать такую связь с нуля, в целях обучения. Примеры?
Почитать? Я конечно умею рисовать кнопочку в редакторе ресурсов, потом запускать ClassWizrd и писать нужный код, там
где написанно "// TODO: Place your code here", но, вы понимаете, мне чего-то не хватает... |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пн Сен 22 2003 08:22 Заголовок сообщения: Windows и ActivX без реестра не живут. Ты сам ответил на свои вопросы: "Я плохо понимаю как работает Windows". Отсюда |
|
|
- |
|
Вернуться к началу |
|
|
Sclis Гость
|
Добавлено: Пн Сен 22 2003 13:33 Заголовок сообщения: и еще... |
|
|
Насколько я понимаю, СОМ это строительные блоки для комплекса приложений. Если ты хочешь написать одно приложение, то нет резона городить там СОМ. представь, что у тебя есть универсальный объект работы ссс... ну пусть с заказами, а тут бац и кроме твоего приложения для работы с заказами гаек и болтов пишется приложение для заказов пиццы! и получаешь повторную используемость кода на уровне исполняемых файлов (не встречал такого словосочетания когда читал про СОМ? ) А теперь представь, что эти компоненты могут лежать не на одном компе, а по всей сети! Какие офигенные горизонты открываются, а? Вот только для таких горизонтов нужна еще более офигенная стабильность работы ПО и настройщики... MFC и COM не вредят друг другу. Что почитать... хе... в последнее время мне все чаще кажется, что не надо лезть во все это. Слишком быстро меняется железо - нет нормальных стандартов в ПО. Все это строится и не нами... Ну начать лучше именно с МФС и архитектуры. |
|
Вернуться к началу |
|
|
Илья Гость
|
Добавлено: Пн Сен 22 2003 22:42 Заголовок сообщения: Как создать свой элемент управления? |
|
|
"Windows и ActivX без реестра не живут". Но это не означает, что невозможно написать программу, которая будет работать без инсталяции. "Ты сам ответил на свои вопросы: "Я плохо о понимаю как работает Windows". Отсюда все твои вопросы и проблеммы" - я прекрасно понимаю, что "плохо понимаю", поэтому и прошу помочь. Возможно, я безграмотно ставлю вопросы. Но это не означает, что нужно тыкать в меня этим. Ведь, если посмотреть на ваш ответ, and3008, там нет вообще никакой информации...
Scilis, спасибо за ваш ответ на 3тий вопрос. Вы поверте, я в общих чертах понимаю, что такое COM. Почему возникают такие странные вопросы? Потому, что у меня в голове щёлкает, что если я хочу использовать не стандартный элемент управления, то мне нужно использовать "элемент управления ActiveX". А раз ActiveX - это COM компонент, то нужно убить в нём всё, что связано с COM и должно получиться то, что нужно. Возможно, это и извращение. Мне нужно создать на экране представление некоторой структуры данных, пусть это будет обычный список, а я хочу вывести его в диалоговом окне. С точки зрения MFC все элементы управления это наследники CWnd. Какими средствами я могу вывести в диалоговом окне прямоугольничек некоторого размера и разместить текст в нём? |
|
Вернуться к началу |
|
|
Sclis Гость
|
Добавлено: Вт Сен 23 2003 04:20 Заголовок сообщения: Re: Как создать свой элемент управления? |
|
|
Ты не обижайся на людей Тут сидят в принципе чтобы потешить свое самолюбие и для этого помогают в меру своих возможностей. Так что снобизм тех кто отвечает (всех без исключения) необходимая плата за получаемую тобой информацию "Какими средствами я могу вывести в диалоговом окне прямоугольничек некоторого размера и разместить текст в нём?" - API. Это элементарные графические (и не только) возможности Windows. Если при этом ты будешь следовать общей архитектуре создания компонентов принятой в MFC то окажешься полностью "в струе". Только имей в виду, что это не такая маленькая работа как кажется и 97 случаев из 100, что лучше перестроить решение под стандартные средства. |
|
Вернуться к началу |
|
|
|