importlib 特性
[importlib] 指令使已编译为另一个类型库的类型可供正在创建的类型库使用。
[
library-attributes
]
library (library-name)
{
importlib(file-to-import);
...
}
-
library-attributes
-
将应用于库的零个或多个属性。
-
library-name
-
软件组件将用于表示此 库的标识符。
-
file-to-import
-
在 MIDL 编译时导入文件的名称和位置。
所有 [importlib] 指令都必须在库中的其他类型说明之前。 请注意,导入的库以及生成的库必须与应用程序一起分发,以便它在运行时可用。
在大多数情况下,应使用 MIDL [import] 指令引用另一个 中的定义。中的 IDL 文件。IDL 文件。 此方法为类型库提供原始文件中的所有信息,而 [importlib] 仅引入类型库的内容。
备注
[importlib] 指令使导入的库中定义的任何类型都可以从正在编译的库中访问。 为了避免出现重复引用时出现歧义,建议使用适当的库名称来限定每个此类引用,如下所示:
library_name.type
在没有此类限定的情况下,MIDL 会解决重复引用的歧义,如下所示:
- 在版本 3.1 中,MIDL 使用它找到的第一个引用。
- MIDL 版本 3.0(可以生成类型库的 MIDL 的第一个版本)使用找到的最后一个引用。
library BrowseHelper
{
importlib("stdole32.tlb");
importlib("mydisp.tlb");
//Remainder of library definition
};