【发布时间】:2011-06-17 17:14:33
【问题描述】:
我正在使用 Embarcadero C++ Builder 创建一个 COM 库。 ridl 文件的设计器提供了一些可以添加到 ridl 的东西。除了创建新的“模块”之外,我想我了解所有这些。我在文档中找不到很好的信息。
什么是“模块”以及它在 COM 中的用途?
【问题讨论】:
标签: com module c++builder
我正在使用 Embarcadero C++ Builder 创建一个 COM 库。 ridl 文件的设计器提供了一些可以添加到 ridl 的东西。除了创建新的“模块”之外,我想我了解所有这些。我在文档中找不到很好的信息。
什么是“模块”以及它在 COM 中的用途?
【问题讨论】:
标签: com module c++builder
您说在文档中找不到“好信息”;你发现了什么?RAD Studio help has a section specifically explaining modules,上面写着:
一个模块定义了一组函数, 通常是一组 DLL 入口点。 你定义一个模块
- 指定它在属性页上表示的 DLL。
- 使用工具栏或对象列表窗格添加方法和常量 上下文菜单。对于每种方法或 常量,然后您必须定义其 属性通过选择它在 对象列表窗格并设置 属性页面上的值。
对于模块方法,您必须分配一个 名称和 DLL 入口点使用 属性页。声明 函数的参数和返回类型 使用参数页面。
对于模块常量,使用 属性页指定名称, 类型和值。
注意:类型库编辑器不会生成任何声明或 与模块相关的实现。 指定的 DLL 必须创建为 单独的项目。
它似乎将外部 DLL 中存在的方法指定给类型库内置的任何模块(EXE 或 DLL)。这到底是用来做什么的……这是个好问题。
【讨论】:
MSDN Library page 中描述了 module 属性。它允许在 DLL 中声明入口点。这与 COM 关系不大,它只是类型库的一种能力。您会发现很少有可以使用它们的语言开发环境。我认为VB6就是其中之一。嗯嗯。
【讨论】: