![]() |
|
Модераторы: Akina |
![]()
|
|
| Bogdan1024 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: нет Всего: 13 |
Короче, сделал я в ВБ6 АктивХ-приложение: есть форма, там есть кнопка "показать другую форму", на неё нажимаешь, и вызывается процедура, которая открывает другую форму:
Больше приложение ничего не делает. В книге написано что если не добавить процедуру Class1_Terminate, то приложение останется висеть в памяти потому что Форма2 будет неудалённой. Но моё приложение и так и так остаётся в памяти! Что делать тут? А вот если написать
То приложение не будет висеть в памяти не зависимо от того есть ли деструктор класса или нет. Чем вызвана такая разница? Это сообщение отредактировал(а) Bogdan1024 - 9.1.2007, 01:37 -------------------- ![]() |
||||
|
|||||
| Black_Star |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 9.9.2003 Где: Minsk Репутация: 4 Всего: 4 |
Set Form2=Nothing ?
|
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Паралельностью процессов. В первом случае, когда форма просто появляется на экране, в системе создаются как-бы два паралельных процесса: Форма и вызвавшее ее приложение. Ты можеш работать с обоими. Имеет место разветвленный жизненный цикл. Во втором случае, когда форма вызывается на экран Модально, выполнение основного приложения прерывается до тех пор, пока форма не будет закрыта. Имеет место линейный жизненный цикл. Опять же, это еще зависит от области описания переменной Форма2. Решение: Class1_Terminate() добавить команду Явного уничтожения Форма2, как уже подсказал Black_Star. -------------------- Я желаю всем Счастья! |
|||
|
||||
| Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: нет Всего: 13 |
Использовал Set Форма2 = Nothing. Не, всё равно всё так же само работает. В ататче проект.
Присоединённый файл ( Кол-во скачиваний: 1 )
try09.zip 6,13 Kb-------------------- ![]() |
|||
|
||||
| Naghual |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Класс:
И при вызове:
-------------------- Я желаю всем Счастья! |
||||
|
|||||
| Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: нет Всего: 13 |
Спасибо, Naghual! Теперь работает, только пришлось вместо Форма2.Visible = False написать Hide, иначе форма не скрывается (почему-то) и приложение всё равно висит в памяти. Хм, может из-за этого оно и глючило всё время... ну и не важно, главное что теперь у меня есть хотя бы один работающий способ написать работающий активХ-объект с формами
-------------------- ![]() |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |