这个VB6成员变量何时被破坏?

假设我有一个类模块clsMyClass,其中一个对象作为成员变量.下面列出了这个非常简单的类的两个完整实现.

实施1:

Dim oObj As New clsObject

实施2:

Dim oObj As clsObject

Private Sub Class_Initialize()
    Set oObj = New clsObject
End Sub

Private Sub Class_Terminate()
    Set oObj = nothing
End Sub

这两者之间有什么功能差异吗?特别是oObj的寿命是一样的吗?

在实现1中,clsObject在使用之前不会被实例化.如果从未使用过,那么clsObject.Class_Initialize事件将永远不会触发.

在实现2中,将在实例化clsMyClass的同时创建clsObject实例.如果创建了clsMyClass,则始终会执行clsObject.Class_Initialize.

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...