我正在用Embarcadero C ++ Builder创建一个COM库。 ridl文件的设计者提供了一些可以添加到ridl的东西。我想除了创建新的“模块”之外,我理解所有这些。我在文档中找不到好的信息。
什么是“模块”以及它在COM中的用途是什么?
答案 0 :(得分:2)
你说你在文档中找不到'好信息';您找到了什么? RAD Studio help has a section specifically explaining modules,其中包含:
模块定义了一组函数, 通常是一组DLL入口点。 您可以通过
定义模块
- 指定它在属性页面上表示的DLL。
- 使用工具栏或对象列表窗格添加方法和常量 上下文菜单。对于每种方法或 常数,你必须定义它 属性通过在中选择它 对象列表窗格并设置 “属性”页面上的值。
对于模块方法,您必须指定一个 名称和DLL入口点使用 属性页面。宣布 函数的参数和返回类型 使用参数页面。
对于模块常量,请使用 属性页面指定名称, 类型和价值。
注意:类型库编辑器不会生成任何声明或 与模块相关的实现。 必须将指定的DLL创建为 单独的项目。
似乎它正在将外部DLL中存在的方法指定为内置类型库的任何模块(EXE或DLL)。究竟是什么用于...是一个很好的问题。
答案 1 :(得分:1)
此MSDN Library page中描述了模块属性。它允许在DLL中声明入口点。这与COM几乎没有关系,它只是一个类型库的功能。您会发现很少有可以使用它们的语言开发环境。我认为VB6就是其中之一。因人而异。