自动化客户端:使用类型库

如果自动化客户端要操作服务器的对象,则必须了解有关服务器对象的属性和方法的信息。 属性具有数据类型;方法通常返回值并接受参数。 客户端需要有关所有这些数据类型的信息,以便静态绑定到服务器对象类型。

可以通过多种方式了解此类型信息。 建议的方法是创建类型库。

有关 MkTypLib 的信息,请参阅 Windows SDK。

Visual C++可以读取类型库文件并创建派生自 COleDispatchDriver 的调度类。 该类的对象具有复制服务器对象的属性和操作。 应用程序调用此对象的属性和操作,通过继承自 COleDispatchDriver 的功能将这些调用路由到 OLE 系统,后者又将它们路由到服务器对象。

如果你选择在创建项目时包括自动化,Visual C++会自动维护此类型库文件。 在每次构建过程中,.tlb 文件将使用 MkTypLib 来生成。

从类型库 (.tlb) 文件创建调度类

  1. 在类视图或解决方案资源管理器中,右键单击项目,然后单击“ 添加 ”,然后单击快捷菜单上的“ 添加类 ”。

  2. “添加类 ”对话框中,选择左窗格中的 “Visual C++/MFC ”文件夹。 从右窗格中选择 “来自 TypeLib 的 MFC 类 ”图标,然后单击“ 打开”。

  3. “从 Typelib 添加类向导 ”对话框中,从 “可用类型库 ”下拉列表中选择一个类型库。 “ 接口 ”框显示可用于所选类型库的接口。

    注释

    可以从多个类型库中选择接口。

    若要选择接口,请双击它们或单击“ 添加 ”按钮。 执行此作时,调度类的名称将显示在 “生成的类 ”框中。 可以在框中编辑类名 Class

    文件 ”框显示将在其中声明类的文件。 (也可以编辑此文件名)。 如果希望将标头和实现信息写入现有文件或项目目录以外的目录中,还可以使用浏览按钮来选择其他文件。

    注释

    所选接口的所有调度类都将放入此处指定的文件中。 如果要在单独的标头中声明接口,则必须针对要创建的每个头文件运行此向导。

    注释

    某些类型库信息可能存储在扩展名为 .DLL、.OCX 或 .OLB 的文件中。

  4. 单击“完成”。

    然后,向导将使用指定的类和文件名为调度类编写代码。

另请参阅

自动化客户端