Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Dim или локальные переменные, объекты, Надо ли удалять Dim - объекты 
:(
    Опции темы
klen
  Дата 27.12.2005, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 19
Регистрация: 8.11.2005

Репутация: нет
Всего: нет



В конце процедуры приходиться писать...

Set FSO = Nothing

или

Set var1 = Nothing

Вопрос!

Надо ли это делать. Может быть VB6 сам удалит эти объекты, переменные. По завершению процедуры.
smile
PM MAIL   Вверх
Akina
Дата 27.12.2005, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



дерьмо за собой надо чистить. Обязательно. Если останутся зависшие коннекты к базе - наплачешься...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
cardinal
Дата 27.12.2005, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата(MSDN)
Until it is assigned an object, the declared object variable has the special value Nothing, which indicates that it doesn't refer to any particular instance of an object.

И ничего больше! VB сам удаляет объекты по завершению процедуры (или программы), а Nothing просто говорит о том, что variable doesn't refer to any particular instance of an object.
Добавлено @ 17:31
А причем здесь
Цитата(Akina @ 27.12.2005, 15:04)
зависшие коннекты к базе - наплачешься

и Nothing?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Akina
Дата 27.12.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(cardinal @ 27.12.2005, 18:30)
А причем здесь

зависшие коннекты к базе - наплачешься

и Nothing?

в таком контексте - ни при чем... но если не сделать вот этого самого присвоения Nothing - тогда и возможны неприятности. Типа клизьмы от админа, который не смог забэкапить открытую зависшим коннектом базу...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
cardinal
Дата 27.12.2005, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Ну в бд я не силен, поэтому ничего сказать не могу.
klen, посмотри на какие-нибудь примеры в книгах, как народ делает...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Naghual
Дата 28.12.2005, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Это относится не только к БД!
Если работать с ActiveX EXE или DLL то происходят те же глюки.
Например, если из своего приложения запустить Excel и не присвоить ему в конце работы Nothing, то после закрытия своей проги Excel все еще будет висеть в памяти!
VB уничтожит объект, под которым был Excel запущен но не сам Excel.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Flotskiy
Дата 28.12.2005, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



Приветствую всех! С наступающим Новым Годом!
Много было глюков, если не закроеш БД или Excel. При выходе из проги она виснет в памяти. Сейчас закрываю все, примерно:
Код

dbBibliot.Close
Set dbBibliot = Nothing

С уважением

--------------------
FlotskiySk k
PM MAIL   Вверх
cardinal
Дата 28.12.2005, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



То есть то, что написано в MSDN это половина правды...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Akina
Дата 28.12.2005, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(cardinal @ 28.12.2005, 13:44)
То есть то, что написано в MSDN это половина правды...

Фирма Майкрософт имеет право недоговаривать, ошибаться, нарушать обязательство и не соблюдать стандарты. Это аксиома.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Mephisto
Дата 29.12.2005, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: 2
Всего: 34



Некоторым обььекта недостаточно просто сказать Nothing. Их необходимо предварительно умножить на ноль.
А как сказано обьекты выгружать ЖЕЛАТЕЛЬНО. Иногда они все-же остаются в памяти.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.