发信人: antfeeling()
整理人: fishy(2000-08-22 08:08:22), 站内信件
|
为 Initialize 和 Terminate 事件添加代码
类模块有两个内置的事件:Initialize 和 Terminate。Initialize 事件过程中 的代码在创建对象时首先执行,领先于其它任何设置属性或执行方法的动作。
在对象的所有引用都被释放以后要执行 Terminate 事件中的代码,然后对象就被 破坏。
下面过程所添加的代码是用来支持 DebugID 属性和 Debug.Print 方法的,在对 象被创建和破坏时,我们用 Debug.Print 显示对象的属性。
注意 创建一个 ActiveX DLL 示例需要分为几步,这个帮助主题只是其中一步。 要访问该帮助主题,选择帮助主题“创建 ActiveX DLL”即可。
要为 Thing 类的 Initialize 和 Terminate 事件添加代码,请按照以下步骤执 行:
在 Thing 类模块的“对象”框中,选择“类”。Initialize 事件将显示在“过 程”框中,同时代码窗口会显示出事件过程的代码模板。在事件过程中添加下列 代码:
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
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 61.141.204.217]
|
|