Далее предполагается, что VBA по-прежнему , используя тот же механизм сбора мусора, который использовался в VB6 (что вполне вероятно).
VB6 использовал GC для подсчета ссылок.GC запускается детерминистически, когда последняя ссылка на данный объект установлена на Nothing
.Установка локальных ссылок на Nothing
не требуется, это происходит, когда они выходят за пределы области действия.
Каждый объект реализует интерфейс COM, который заботится о количестве ссылок для этого объекта.Каждое присвоение ссылки на объект обновляет счетчики ссылок вовлеченных ссылок (то есть счетчик старого объекта, на который ранее ссылались, уменьшается, а счетчик нового объекта увеличивается).Объект подвергается сборке мусора, когда его счетчик ссылок достигает 0.
Объекты в циклических ссылках, таким образом, никогда не собираются во время жизни приложения VBA.Более того, VBA не предлагает способ разрыва циклических ссылок.В VB6 слабые ссылки могут быть реализованы через функции WinAPI.