p0et
Гость
|
|
« : 28-06-2003 09:48 » |
|
Гром! Привет! Как жизнь? Я тут у вас много всего понаписал! Пустили козла в огород Так вопрос: Что такое COM? С чем его едят? И как их писать?
|
|
|
Записан
|
|
|
|
p0et
Гость
|
|
« Ответ #1 : 28-06-2003 21:43 » |
|
ГРОМ! Ты ведь это читал, я так думаю! Люди я только начал разбираться! Неужели никто не ответит? :?
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #2 : 29-06-2003 00:48 » |
|
Я отвечу попозже.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
p0et
Гость
|
|
« Ответ #3 : 29-06-2003 08:57 » |
|
тогда я пока подожду! Я не сильно тороплюсь! :twisted:
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #4 : 29-06-2003 12:20 » |
|
COM - компонента. Коротко - если для форума - система библиотек, которая предназначена для использовании на разных машинах сети и разными программами, находясь в памяти 1 раз. Т.е. загружается библиотека 1раз а обслуживает несколько программ.
Для идентификации каждой билиотеки уникальным убразом придуман GUID - уникальный номер библиотеки.
Как ее писать - это отдельная - более сложная тема. При использовании библиотека имеет счетчик обращающихся к ней клиентов, который показывает нужна ли она еще или нет...
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
grozny
Гость
|
|
« Ответ #5 : 30-06-2003 20:39 » |
|
COM уже немного устаревает, уж если изучать, начинай с .NET, ассембли и пр. Ты на http://rsdn.ru не ходил? Там много обсуждают СОМы с .НЕТами ...
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #6 : 30-06-2003 21:03 » |
|
Кстати - grozny а где бы слить .NET студию. а то ее нетути... А без долгого изучения особо не расскажешь о ней.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #7 : 01-07-2003 05:25 » |
|
COM уже немного устаревает, уж если изучать, начинай с .NET, ассембли и пр. Ты на http://rsdn.ru не ходил? Там много обсуждают СОМы с .НЕТами ... Я не лазал в НЕТ глубоко, они хотят похоронить всю ветвь COM ActiveX ATL ?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Igel
|
|
« Ответ #8 : 02-07-2003 04:46 » |
|
Народ, а статейки про СОМ и с чем его едят... Кстати ActiveX - как связан с СОМ? Или никак? Как еще СОМ называют? ОЕМ? Как сделать СОМ сервер, как обращаться, как сделать клиенту?
|
|
|
Записан
|
Ёжики, это не только ценные шкурки...
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #9 : 02-07-2003 05:17 » |
|
Все стазу и без хлеба хе-хе COM/DCOM это название технологии. Component Object Model идея такая у нас есть некоторые объекты которые могут быть реализованы на разных я зыках и средах но все они поддерживают определеный стандарт на предоставление доступа к своим методам и свойствам. Это позволяет реализовывать программы по модульной структуре ну как сейчас делают компьютеры. Все собирается за пол часа просто втыканием в деталей в разъёмы. В клиенте есть разем у СОМ компонента гнездо при за пуске среда их соединяет. Все довольно просто.
Дальше расказывать?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Igel
|
|
« Ответ #10 : 02-07-2003 06:34 » |
|
Да... Обязательно.
|
|
|
Записан
|
Ёжики, это не только ценные шкурки...
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #11 : 02-07-2003 07:42 » |
|
Из идеологии COM выросло несколько надстроек обеспечивающих поддержку сей идеологии.
Среди них ActiveX - это чисто встраиваемые элементы управления, ATL - это более мошная вещь позволяющая делать полноценные компоненты как внутри процесовые так и серверные. Есть еще COBRA но я оней почти ничего не знаю.
Что есть ActiveX это почти всегда элемент управления, хорактерной чертой является наличие интерфеса событий(видусовых ). Намой взлгляд это единственная полезная вещь которая есть в COM, для всех остальных красивостей я еще применеия не нашел.
У СОМ есть одни огромные грабли, вырастают они из того что в среде может единовременно быть зарегестрирован только один компонент. Проблема вот вчем. Делаем мы компоонент и засовываем его в нашу задачу. Сдаем ее заказчику. Потом начинаем сопуствующий проект, и втыкаем туда тотже компонент, и немного усовершенствуем его. За тем ставим эту приблуду на туже машину и старя задача вылетает. В чем проблема? Оказывается теперь старая задача обращается к новому компоненту (или наоборот) у них один ИД. И приходится либо добиваться полной поддержки компоненнтом обеих задач либо переписывать компонент(меняить GUID) а его из мение еще нужно протащить и в проекте потому что по нему происходит вызов объекта. А вот эту операцию в ручную выполнить весма прблематично (в визуальных средах). И в принцепе не возможно ели ты не разработчик ПО. И именоо это побудило MS отказаться от COM технологии.
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Igel
|
|
« Ответ #12 : 02-07-2003 08:14 » |
|
И в пользу чего они отказались?
|
|
|
Записан
|
Ёжики, это не только ценные шкурки...
|
|
|
Lex
|
|
« Ответ #13 : 02-07-2003 08:22 » |
|
Из идеологии COM выросло несколько надстроек обеспечивающих поддержку сей идеологии.
Среди них ActiveX - это чисто встраиваемые элементы управления, ATL - это более мошная вещь позволяющая делать полноценные компоненты как внутри процесовые так и серверные. Есть еще COBRA но я оней почти ничего не знаю.
Что есть ActiveX это почти всегда элемент управления, хорактерной чертой является наличие интерфеса событий(видусовых ). Намой взлгляд это единственная полезная вещь которая есть в COM, для всех остальных красивостей я еще применеия не нашел.
У СОМ есть одни огромные грабли, вырастают они из того что в среде может единовременно быть зарегестрирован только один компонент. Проблема вот вчем. Делаем мы компоонент и засовываем его в нашу задачу. Сдаем ее заказчику. Потом начинаем сопуствующий проект, и втыкаем туда тотже компонент, и немного усовершенствуем его. За тем ставим эту приблуду на туже машину и старя задача вылетает. В чем проблема? Оказывается теперь старая задача обращается к новому компоненту (или наоборот) у них один ИД. И приходится либо добиваться полной поддержки компоненнтом обеих задач либо переписывать компонент(меняить GUID) а его из мение еще нужно протащить и в проекте потому что по нему происходит вызов объекта. А вот эту операцию в ручную выполнить весма прблематично (в визуальных средах). И в принцепе не возможно ели ты не разработчик ПО. И именоо это побудило MS отказаться от COM технологии. Это как раз грабли не COM технологии, а неправильного и некорректного ее использования. Кстати как пример COM технологии DirectX.
|
|
|
Записан
|
Megabyte be with you!
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #14 : 02-07-2003 08:39 » |
|
И в пользу чего они отказались?
НЕТ вестимо. Это как раз грабли не COM технологии, а неправильного и некорректного ее использования
Да это так но грабли были столь часто всречаемые что достали всех включая сам MS. Я хорошо помню как на занимались любовью админы с игрового клуба когда часть угрушек коректно работало только на DX6 а новые требовали DX7/8/9. И тот ящик пива который мне был выставлен за прогу(на самом деле bat) позволяющую сносить DX без перестановки виндов и ставить младшую версию по верх старшей.
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #15 : 02-07-2003 08:43 » |
|
.NET - это развитие COM в понимании Microsoft а не отказ от него...
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #16 : 02-07-2003 08:47 » |
|
Можно сказать и так, но в НЕТ все основательно переделано. Поэтому сказать что это тотже СОМ не совсем верно.
Поменяласть идея. Было "Прога идет на легке а все компоненты посталяет система" а теперь "Все свое ношу собой".
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Igel
|
|
« Ответ #17 : 02-07-2003 09:12 » |
|
Но это - же: Поменяласть идея. Было "Прога идет на легке а все компоненты посталяет система" а теперь "Все свое ношу собой".
Старая идея. Например, Борланд в Дельфи, придерживается ее. Но это частность и касается конкретных программных решений. Вопрос в чем это выражено и как? Если с СОМ почти ясно. нету компонента - установи... То что в связи с НЕТ?
|
|
|
Записан
|
Ёжики, это не только ценные шкурки...
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #18 : 02-07-2003 10:14 » |
|
Я тоже считаю что это возврат к старой идее.
Каждое приложение может иметь свой компонент, есть десять прог с гридой вот и будет у тебя на машине десять грид лежать причем как я понял можно ходить со своеими компонентами можно пользоваться у же зарегистрироваными.
Там два этапа компиляции, собствено кодирование и финальная сборка(при первом запуске) уже на месте с учетом специфики конкретной системы. Теперь компонент хорактирезуется не одним GUID а набором.
Одно не понятно что теперь станет с концепцией замены компонента на лету.
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
|