当外接程序通过编程或“外接程序管理器”对话框与 Visual Basic IDE 分离时,该方法便发生。
语法 object. IDTExtensibility_OnDisconnection (removemode As vbext_DisconnectMode, custom()As Variant)
OnDisconnection 方法的语法包含下面部分:
部分 | 描述 | object | 对象表达式,其值是“应用于”列表中的对象。 | removemode | 类型 vbext_DisconnectMode 的计算值,如设置值所指定。 | custom() | 保存自定义数据的 variant 表达式数组。 |
设置值 removemode (vbext_ConnectMode) 的设置值是:
常数 | 值 | 描述 | vbext_dm_HostShutdown | 0 | 外接程序因外接程序的主机关闭而删除。 | vbext_dm_UserClosed | 1 | 外接程序因用户关闭它而删除。 |
说明 这个方法是 IDTExtensibility 接口的部分,该接口应当在提供连接对象的类中实现。
重点 不能直接输入上面给出的语法。而应当使用 Implements 语句来为接口生成适当的方法模板。为此,在提供外接程序的连接对象的类模块的声明部分输入: Implements IDTExtensibility添加这行之后,就能从模块“对象”的下拉框中选择“IDTExtensibility”。从“过程”下拉框中选择每个方法来获取上面语法中显示的过程模板。注意,所需的代码被自动地添加进类模块中。
通过 Implements 语句显露各种接口的方法。当上面的语法输入处理外接程序事件的类模块的声明部分之后,通过模块的“过程”和“对象”下拉框,就可使用接口方法。要在模块中添加代码,从“过程”下拉框中选取方法。
注意 虽然 OnAddinsUpdate 方法是 IDTExtensibility 接口的方法,但对于 Visual Basic 程序员而言,它的作用和性能象个事件。换句话说,当一个外接程序通过编程或“外接程序管理器”对话框与 Visual Basic IDE 分离时,OnConnection 方法中的所有代码便自动地产生,正如它是一个事件过程一样。 重点 因为接口就是对象与 Visual Basic 之间的协议,所以必须确保实现接口中的所有方法。这意味着全部四个 IDTExtensibility 接口方法均应在类模块中存在,而且,每个方法最少包含一个可执行语句。这可以只有一个说明语句,但它们每个必须最少包含一个可执行语句,以免编译程序把它们当作空过程删除。 |