Про form и unload

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
i'm pissed
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 194
Зарегистрирован: 23.10.2004 (Сб) 12:01
Откуда: irkutsk

Про form и unload

Сообщение i'm pissed » 12.11.2004 (Пт) 18:12

Значить у меня form1 размножается. Получается так что если я закрываю одну из размноженной formы закрывается весь проект (это если в form1_unload прописываю end), а если прописываю unload me проект потом не выгружается из памяти (кроме этих форм есть еще несколько).
by_pissed

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 12.11.2004 (Пт) 18:52

Ну, можно завести глобальную переменную, хранящую количество открытых форм. Если во время Unload'а формы оно равно еденице - End'аем программу.
Листинги не горят!

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 12.11.2004 (Пт) 18:54

Сделай им Hide, а при закрытии всего приложения выгружай все.
Тёмыч давал пример по выгрузке таймеров, где-то рядом, поищи.

Без обид! Поменял-бы ты ник, а то читаю как "Я пиз#$%ц"

i'm pissed
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 194
Зарегистрирован: 23.10.2004 (Сб) 12:01
Откуда: irkutsk

Сообщение i'm pissed » 12.11.2004 (Пт) 20:44

Faust писал(а):Ну, можно завести глобальную переменную, хранящую количество открытых форм. Если во время Unload'а формы оно равно еденице - End'аем программу.
По подробнее можно PLZ
by_pissed

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 12.11.2004 (Пт) 21:53

Когда "участвуешь в процессе размножения формы" при создание экземпляра увеличивыай глобальную переменную AllFormsCount на единицу ... чтобы у тебя глобальная переменная показывала скока форм ....

При закрытии смотрим,
Код: Выделить всё
Private Sub Form_Unload(Cancel As Integer)
  If AllFormsCount = 1 then End
End Sub
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 12.11.2004 (Пт) 23:11

Народ, да вы чего? :shock:
VB Object Browser писал(а):Property Forms As object
read-only
Member of VB.Global
All loaded forms in an application.

По сути - коллекция. Используется в данном случае так:
Код: Выделить всё
If Forms.Count = 1 Then End


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: PetalBot и гости: 2

    TopList