Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Как освободить память после SET ?


Автор: psgpsg 21.2.2011, 11:21
Если я правильно понимаю, как работает оператор SET, то после оператора

Set FSO = New Scripting.FileSystemObject

выделяется память под объект и если несколько раз выполнить этот оператор, то столько раз будет выделена память.

Вопрос: как можно освобождать выделенную память перед выполнением следующего оператора

Set FSO = New Scripting.FileSystemObject

? 

Автор: Akina 21.2.2011, 11:22
Ты неправильно понимаешь.

Автор: psgpsg 21.2.2011, 11:25
Цитата(Akina @ 21.2.2011,  11:22)
Ты неправильно понимаешь.

Т.е. память под объект не выделяется ?

PS
В http://msdn.microsoft.com/ru-ru/library/hks5e2k6.aspx написано "Объект как экземпляр класса создается с помощью ключевого слова New. "..

Автор: Akina 21.2.2011, 12:14
Цитата(psgpsg @  21.2.2011,  12:25 Найти цитируемый пост)
Т.е. память под объект не выделяется ?

Ну почему... выделяется...
Но она существует только до тех пор, пока на этот объект существует хотя бы одна ссылка (в т.ч. неявная). Как только все ссылки на объект будут изменены/разрушены - объект будет уничтожен, а занимаемая им память освобождена.

Автор: psgpsg 21.2.2011, 12:43
Спасибо !

Автор: iff 21.2.2011, 21:02
Где-то что-то видел типа:
Set FSO = Nothing
После того как все операции над файлами заверщились

Автор: Akina 21.2.2011, 21:34
iff, это один и способов удалить ссылку на объект.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)