Что такое модули при создании COM-объектов с помощью Embarcadero C ++ Buider - PullRequest
2 голосов
/ 17 июня 2011

Я создаю библиотеку COM с помощью Embarcadero C ++ Builder.Конструктор для файла REDL дает несколько вещей, которые вы можете добавить к RIDL.Я думаю, что я понимаю их все, кроме создания новых «модулей».Я не могу найти хорошую информацию для этого в документации.

Что такое «модуль» и для чего он будет использоваться в COM?

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

Вы говорите, что не можете найти «хорошую информацию» в документации;что вы нашли? В справке RAD Studio есть раздел, специально объясняющий модули , в котором говорится:

Модуль определяет группу функций, обычно набор DLLточки входаВы определяете модуль с помощью

  • Указывая DLL, которую он представляет на странице атрибутов.
  • Добавление методов и констант с помощью панели инструментов или контекстного меню панели списка объектов.Затем для каждого метода или константы необходимо определить его атрибуты, выбрав его на панели списка объектов и задав значения на странице «Атрибуты».

Для методов модуля вы должны назначить имя и точку входа DLL, используя страницу атрибутов.Объявите параметры функции и тип возвращаемого значения на странице параметров.

Для констант модуля используйте страницу Атрибуты, чтобы указать имя, тип и значение.

Примечание. Редактор библиотеки типов негенерировать любые объявления или реализации, связанные с модулем.Указанная DLL-библиотека должна быть создана как отдельный проект.

Кажется, он указывает методы, которые существуют во внешней DLL-библиотеке для любого модуля (EXE или DLL), в который встроена библиотека типов.Именно то, что используется для ... это хороший вопрос.

1 голос
/ 28 июня 2011

Атрибут module описан на этой странице MSDN Library . Это позволяет объявлять точки входа в DLL. Это не имеет ничего общего с COM, это просто возможность библиотеки типов. Вы найдете несколько сред разработки языков, которые могут их использовать. Я думаю, что VB6 был одним из них. YMMV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...