Есть ли в классе VB6 деструктор? - PullRequest
8 голосов
/ 20 января 2011

Когда я выполняю оператор, такой как

Set MyObject = Nothing

, есть ли внутри класса особая функция, которая вызывается (то есть, которую я могу использовать в качестве деструктора), чтобы выполнять такие вещи, как очистка массивов, отключениеиз баз данных и пр.

Ответы [ 2 ]

17 голосов
/ 20 января 2011

Аналог Class_Initialize, конструктор, есть также деструктор:

Sub Class_Terminate
    ... ' Put your destructor code here '
End Sub

Этот метод выполняется, как только счетчик ссылок этого объекта достигает нуля, то есть когда все переменные, которые ссылаются на этот объект, вышли из области видимости или были установлены на что-то другое (например, Nothing). Таким образом, Set MyObject = Nothing будет вызывать деструктор, только если MyObject является последней переменной, ссылающейся на этот объект.

0 голосов
/ 20 января 2011

Нет.VB6 не предоставляет программисту никакого механизма для написания чего-либо явно.Программист может сделать Set MyObject = Nothing, а VB позаботится обо всем остальном.

ОБНОВЛЕНИЕ:

Для обработки этого * 1009 можно использовать Class_Terminate*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...