类模块有两个内置的事件:Initialize 和 Terminate。Initialize 事件过程中的代码在创建对象时首先执行,领先于其它任何设置属性或执行方法的动作。
在对象的所有引用都被释放以后要执行 Terminate 事件中的代码,然后对象就被破坏。
下面过程所添加的代码是用来支持 DebugID 属性和 Debug.Print 方法的,在对象被创建和破坏时,我们用 Debug.Print 显示对象的属性。
注意 创建一个 ActiveX DLL 示例需要分为几步,这个帮助主题只是其中一步。要访问该帮助主题,选择帮助主题“创建 ActiveX DLL”即可。
要为 Thing 类的 Initialize 和 Terminate 事件添加代码,请按照以下步骤执行:
Private Sub Class_Initialize() '
获得由只读的DebugID
属性'
返回的调试ID
。mlngDebugID = GetDebugID
Debug.Print "Initialize Thing " & DebugID _
& ", Name=" & Name
End Sub
Private Sub Class_Terminate()
On Error Resume Next
Debug.Print "Terminate Thing " & DebugID _
& ", Name=" & Name
End Sub
重点 Class_Terminate 事件过程中的错误是必须处理的。使用部件的应用程序不能处理 Class_Terminate 中的错误,所以这些错误对于应用程序来说将是致命的。
与此相反,在 Initialize 事件中没有处理的错误是在应用程序创建该对象时发生的,因此可以被应用程序处理。
通常,Initialize 事件过程包含了在对象创建时需要执行的所有代码,例如为 DebugID 属性提供时间戳记。Terminate 事件则包含了在对象被破坏时需要执行的所有清理代码。
重点 Initialize 和 Terminate 事件决不应该与用户打交道。为了便于说明该例子利用它们给出一个 Thing 对象被创建和被破坏的直观的说明。
详细信息 请参阅“部件设计的一般准则”中的“编写强健的初始化和终止事件”。
创建 ActiveX DLL 示例需要好几步,该帮助主题只是其中一步。
目的 | 请参阅 |
到下一步 | 创建 TestThing 测试工程 |
从头开始 | 创建一个 ActiveX DLL |