visual variable una tipos studio que objetos ejemplos dim declaracion clases vb6

una - ¿Cuándo se destruye esta variable miembro VB6?



tipos de variables en visual basic (3)

En la implementación 1, clsObject no se creará una instancia hasta que se use. Si nunca se usa, el evento clsObject.Class_Initialize nunca se activará.

En la implementación 2, la instancia de clsObject se creará al mismo tiempo que se crea una instancia de clsMyClass. El clsObject.Class_Initialize siempre se ejecutará si se crea clsMyClass.

Supongamos que tengo un módulo de clase clsMyClass con un objeto como variable miembro. A continuación se enumeran dos implementaciones completas de esta clase muy simple.

Implementación 1:

Dim oObj As New clsObject

Implementación 2:

Dim oObj As clsObject Private Sub Class_Initialize() Set oObj = New clsObject End Sub Private Sub Class_Terminate() Set oObj = Nothing End Sub

¿Hay alguna diferencia funcional entre estos dos? En particular, ¿la vida de oObj la misma?


La variable de objeto se destruirá siempre que la recolección de basura determine que no hay más referencias a dicho objeto. Entonces en sus dos ejemplos, suponiendo que el alcance de clsObject es el mismo, no hay diferencia en cuanto a cuándo se destruirá su objeto.


Si en la implementación 1 la declaración está dentro de la clase y no en un sub, sí, el alcance es el mismo para ambos ejemplos.