オブジェクトをメンバ変数として持つクラスモジュールclsMyClass
があるとします。以下に、この非常に単純なクラスの2つの完全な実装を示します。このVB6メンバー変数はいつ破壊されますか?
実装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
の寿命は同じですか?
また、oObjにアクセスするたびにコンパイラがチェックを追加するため、実装1は実装2よりもパフォーマンスが悪くなります – rpetrich