Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / После Unload Me форма остается в UserForms. Как удалить? / 10 сообщений из 10, страница 1 из 1
22.09.2016, 20:16
    #39313730
JustNick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
День добрый!
Есть код в Excel - пользователем запускаются формочки, выполняются нужные действия и т.д.
И вот в процессе работы запускается Form1, например. При закрытии ее используется метод Unload по кнопке Выход на форме.
В определенный момент нужно узнать открытые сейчас формы. В коде используется перебор форм в коллекции UserForms. И тут обнаруживается, что Form1, казалось бы выгруженная из памяти, благополучно сидит в коллекции. Почему? Что тогда использовать для закрытия формы, чтобы ее реально выгрузить и следов не осталось, и что для проверки действительно открытых сейчас форм, а не открывавшихся пользователем за все время работы программы?
...
Рейтинг: 0 / 0
22.09.2016, 20:24
    #39313734
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
JustNick,

а цикл проверки можете показать? Кажется, было у форм свойство - Visible. Его можно применять для проверки реально отображенных форм, а не тех кто якобы выгружен или скрыт.
...
Рейтинг: 0 / 0
22.09.2016, 20:43
    #39313740
JustNick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
The_Prist,

да, действительно, пришлось использовать проверку на свойство visible в коллекции UserForms.
Спасибо.

Однако очень странно... зачем мне данные, какие формы за все время работы открывались... хотя, может кому-то и пригодится эта инфа )))
...
Рейтинг: 0 / 0
22.09.2016, 20:47
    #39313741
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
JustNickзачем мне данные, какие формы за все время работы открывалисьПри нормальном закрытии формы она исчезает из коллекции UserForms.
Значит вы выгружаете ее некорректно, например, обращаетесь к ее свойствам после Unload. Надо смотреть код.
...
Рейтинг: 0 / 0
22.09.2016, 20:49
    #39313742
JustNick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
Shocker.Pro,

Не обращаюсь, насколько я знаю. Проверю, конечно, на всякий случай. Спасибо
...
Рейтинг: 0 / 0
22.09.2016, 20:54
    #39313745
JustNick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
Shocker.Pro,

Есть несколько таких мест:
если форма открыта (пробежка по UserForms), то запустить метод формы.
Этот кусок кода присутствует в других формах.

значит, если я запускаю какую-то форму, в коде которой присутствует Form1 и ее метод, то автоматически опять подгружается в память эта форма?
...
Рейтинг: 0 / 0
22.09.2016, 21:06
    #39313746
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
JustNickзначит, если я запускаю какую-то форму, в коде которой присутствует Form1 и ее метод, то автоматически опять подгружается в память эта форма?Да, обращение к подобному объекту порождает неявное создание экземпляра этой формы. ИМХО - глупость, но данность.
...
Рейтинг: 0 / 0
22.09.2016, 21:08
    #39313747
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
Хотя нет, наверное мы все-таки о разном. Само по себе присутствие метода не порождает конечно же загрузки формы.
...
Рейтинг: 0 / 0
22.09.2016, 21:09
    #39313748
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
Поставьте точки останова или вывод в окно отладки в событиях UserForm_Terminate и UserForm_Initialize и посмотрите на цикл жизни формы
...
Рейтинг: 0 / 0
22.09.2016, 21:25
    #39313752
JustNick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После Unload Me форма остается в UserForms. Как удалить?
Shocker.Pro,

Спасибо. Поэкспериментирую на досуге :) Интересный случай
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / После Unload Me форма остается в UserForms. Как удалить? / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]