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

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

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

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

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

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

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

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


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