Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
22.09.2016, 20:16
|
|||
---|---|---|---|
|
|||
После Unload Me форма остается в UserForms. Как удалить? |
|||
#18+
День добрый! Есть код в Excel - пользователем запускаются формочки, выполняются нужные действия и т.д. И вот в процессе работы запускается Form1, например. При закрытии ее используется метод Unload по кнопке Выход на форме. В определенный момент нужно узнать открытые сейчас формы. В коде используется перебор форм в коллекции UserForms. И тут обнаруживается, что Form1, казалось бы выгруженная из памяти, благополучно сидит в коллекции. Почему? Что тогда использовать для закрытия формы, чтобы ее реально выгрузить и следов не осталось, и что для проверки действительно открытых сейчас форм, а не открывавшихся пользователем за все время работы программы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.09.2016, 20:24
|
|||
---|---|---|---|
После Unload Me форма остается в UserForms. Как удалить? |
|||
#18+
JustNick, а цикл проверки можете показать? Кажется, было у форм свойство - Visible. Его можно применять для проверки реально отображенных форм, а не тех кто якобы выгружен или скрыт. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.09.2016, 20:43
|
|||
---|---|---|---|
|
|||
После Unload Me форма остается в UserForms. Как удалить? |
|||
#18+
The_Prist, да, действительно, пришлось использовать проверку на свойство visible в коллекции UserForms. Спасибо. Однако очень странно... зачем мне данные, какие формы за все время работы открывались... хотя, может кому-то и пригодится эта инфа ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.09.2016, 20:47
|
|||
---|---|---|---|
|
|||
После Unload Me форма остается в UserForms. Как удалить? |
|||
#18+
JustNickзачем мне данные, какие формы за все время работы открывалисьПри нормальном закрытии формы она исчезает из коллекции UserForms. Значит вы выгружаете ее некорректно, например, обращаетесь к ее свойствам после Unload. Надо смотреть код. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.09.2016, 20:49
|
|||
---|---|---|---|
|
|||
После Unload Me форма остается в UserForms. Как удалить? |
|||
#18+
Shocker.Pro, Не обращаюсь, насколько я знаю. Проверю, конечно, на всякий случай. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.09.2016, 20:54
|
|||
---|---|---|---|
|
|||
После Unload Me форма остается в UserForms. Как удалить? |
|||
#18+
Shocker.Pro, Есть несколько таких мест: если форма открыта (пробежка по UserForms), то запустить метод формы. Этот кусок кода присутствует в других формах. значит, если я запускаю какую-то форму, в коде которой присутствует Form1 и ее метод, то автоматически опять подгружается в память эта форма? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.09.2016, 21:06
|
|||
---|---|---|---|
|
|||
После Unload Me форма остается в UserForms. Как удалить? |
|||
#18+
JustNickзначит, если я запускаю какую-то форму, в коде которой присутствует Form1 и ее метод, то автоматически опять подгружается в память эта форма?Да, обращение к подобному объекту порождает неявное создание экземпляра этой формы. ИМХО - глупость, но данность. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.09.2016, 21:08
|
|||
---|---|---|---|
|
|||
После Unload Me форма остается в UserForms. Как удалить? |
|||
#18+
Хотя нет, наверное мы все-таки о разном. Само по себе присутствие метода не порождает конечно же загрузки формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.09.2016, 21:09
|
|||
---|---|---|---|
|
|||
После Unload Me форма остается в UserForms. Как удалить? |
|||
#18+
Поставьте точки останова или вывод в окно отладки в событиях UserForm_Terminate и UserForm_Initialize и посмотрите на цикл жизни формы ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=60&tablet=1&tid=2155422]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
149ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 251ms |
0 / 0 |