Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Дискуссия про СОМ 
:(
    Опции темы
kurlyak
Дата 9.10.2011, 04:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: нет
Всего: 3



Может я не в том разделе форума тему открыл- пардон. Но у меня спор с товарищем, он говорит, что технологию СОМ можна реализовать на Ассемблере- то есть в языках без классов, без стурктур. Я ему пытаюсь объяснить, что сущьность технологии СОМ- это динамическое связывание, то есть таблицы виртуальных функций, что указатели из этих таблиц на функции передаються от СОМ компонента к СОМ клиенту- для выполнения функций СОМ клиентом. Он мне говорит, что это все последствия использования классов, что на языках которые не используют классы можна реализовать СОМ. То есть он говорит что без классов язык может реализовать СОМ. Я ему гооврю что без классов, это не значит что вобще языках с линейным программированием типа Турбо Бейсик или ГБейсик можна реализовать СОМ, классы class заменяються структурами struct. И пишеться без классов СОМ проект, но с использованием структур. Кроме того, он утверждает, что интерфейс в сущьности не абстрактный класс. Я утверждаю, что если интерфейс писать на Си++ Майкрософт - это это может быть абстрактный класс, если на Си Майкрософт- это может быть абстрактная структура, если на MIDL - то это просто описание интерфеса, то есть правильно не класс и не структура. Но мне долбит упрямо, что интерфейс ни в каком случае не может быть абстрактным классом. Я считаю что абстрактный класс ведет с созданию таблицы виртуальных функций. Потому что при компиляции- компилятору компилировать нечего- класс то абстрактный, пустой, кода нету в классе, как его можна скомпилировать, но поскольку абстрактный класс присутствует в программе - то для него создаеться не объект а таблица виртуальных функций, через которую клиент СОМ получает доступ к функциям компонента СОМ. Аобстрактный класс- это значит таблица виртуальных функций.

Как видите спор очень затянулся- вопрос у меня, можна ли СОМ компонент (не клиент СОМ) реализовать на языках без классов class, без структур struct? Если да, то какой принцип. Как я уже говорил, все что я знаю про СОМ и читал, и свой опыт у меня есть- то СОМ базируется на таблице виртуальных функций. Таблица виртуальных функций- это то что связывает клиента с компонентом, то есть абстрактный класс, то есть это интерфейс. Можна без class и sturct реализовать СОМ и какой принцип этого дела?

Заранее благодарен за ответы.

Это сообщение отредактировал(а) kurlyak - 9.10.2011, 04:54
PM MAIL   Вверх
cat512
Дата 31.10.2011, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 3
Всего: 15



Можно, для этого достаточно понимать - как Struct и Class реализуются компилятором.
PM MAIL   Вверх
cemick
Дата 2.11.2011, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 6.7.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 6



Ну начнем с того, что все что исполняется можно реализовать на ассемблере.)) Ну как бы очевидно.
Мне кажеться у кого то ООП головного мозга. Ведь COM это технология не более того, на которую есть спецификации. Технология которая поддерживается и работает в рамках операционной системы от микрософт. И какая разница на чем вы реализуете свой iUnknow.

PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0851 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.