| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Dim или локальные переменные, объекты |
| Автор: klen 27.12.2005, 16:19 |
| В конце процедуры приходиться писать... Set FSO = Nothing или Set var1 = Nothing Вопрос! Надо ли это делать. Может быть VB6 сам удалит эти объекты, переменные. По завершению процедуры. |
| Автор: Akina 27.12.2005, 17:04 |
| дерьмо за собой надо чистить. Обязательно. Если останутся зависшие коннекты к базе - наплачешься... |
| Автор: cardinal 27.12.2005, 17:30 | ||||
И ничего больше! VB сам удаляет объекты по завершению процедуры (или программы), а Nothing просто говорит о том, что variable doesn't refer to any particular instance of an object. Добавлено @ 17:31 А причем здесь
и Nothing? |
| Автор: Akina 27.12.2005, 17:50 | ||
в таком контексте - ни при чем... но если не сделать вот этого самого присвоения Nothing - тогда и возможны неприятности. Типа клизьмы от админа, который не смог забэкапить открытую зависшим коннектом базу... |
| Автор: cardinal 27.12.2005, 20:14 |
| Ну в бд я не силен, поэтому ничего сказать не могу. klen, посмотри на какие-нибудь примеры в книгах, как народ делает... |
| Автор: Naghual 28.12.2005, 10:52 |
| Это относится не только к БД! Если работать с ActiveX EXE или DLL то происходят те же глюки. Например, если из своего приложения запустить Excel и не присвоить ему в конце работы Nothing, то после закрытия своей проги Excel все еще будет висеть в памяти! VB уничтожит объект, под которым был Excel запущен но не сам Excel. |
| Автор: Flotskiy 28.12.2005, 11:49 | ||
| Приветствую всех! С наступающим Новым Годом! Много было глюков, если не закроеш БД или Excel. При выходе из проги она виснет в памяти. Сейчас закрываю все, примерно:
С уважением |
| Автор: cardinal 28.12.2005, 12:44 |
| То есть то, что написано в MSDN это половина правды... |
| Автор: Akina 28.12.2005, 13:22 | ||
Фирма Майкрософт имеет право недоговаривать, ошибаться, нарушать обязательство и не соблюдать стандарты. Это аксиома. |
| Автор: Mephisto 29.12.2005, 00:57 |
| Некоторым обььекта недостаточно просто сказать Nothing. Их необходимо предварительно умножить на ноль. А как сказано обьекты выгружать ЖЕЛАТЕЛЬНО. Иногда они все-же остаются в памяти. |