2 вопроса..

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Scuder
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 334
Зарегистрирован: 17.08.2002 (Сб) 13:18
Откуда: Moscow, Russia

2 вопроса..

Сообщение Scuder » 02.04.2004 (Пт) 17:38

1. Как открыть одну форму 2 и более раз? Ну, с контролами понятно - Load Object (Index). А с формой почему не проходит? Пишет, что объект уже загружен..

2. Блин, второй забыл уже.. :-( Надо память дефрагментировать.. Блин.. :-(

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.04.2004 (Пт) 17:57

Код: Выделить всё
Dim frm As Form
Set frm = New Form1
Load frm
frm.Show vbModeless
Set frm = Nothing
Lasciate ogni speranza, voi ch'entrate.

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 02.04.2004 (Пт) 17:58

dim dd as form1
set dd=new form1
dd.show

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

Сообщение Ennor » 06.04.2004 (Вт) 17:59

Вообще-то New и Nothing с формами не требуются. Достаточно Load/Unload.
Код: Выделить всё
Dim frm1 as Form1, frm2 as Form1
Load frm1
Load frm2
frm1.Show vbModeless
frm2.Show vbModeless
...
frm1.Hide
frm2.Hide
Unload frm1
Unload frm2

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 06.04.2004 (Вт) 19:35

Ennor писал(а):Вообще-то New и Nothing с формами не требуются. Достаточно Load/Unload.
Unload frm2[/code]


Уверен?

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

Сообщение Ennor » 07.04.2004 (Ср) 10:00

Уверен. В этом и есть главное отличие формы от простого класса.

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 07.04.2004 (Ср) 10:56

Ennor писал(а):Уверен. В этом и есть главное отличие формы от простого класса.


Я не буду писать о типах связывания , счетчиках сылок и пр
все это есть в MSDN.

Кинь кнопку на форму и
попробуй следущий код с комментариями и без

Код: Выделить всё
Sub Main()
Dim f As Form1
Set f = New Form1
f.Show
Unload f
'' Set f = Nothing <--- убери комментарии
f.Command1.Caption = "Hello Ennor !!!!"
f.Show

End Sub


а еще лучше напиши тестовый com на С++
и посмотри когда и как освобождается память особенно на VB6

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

Сообщение Ennor » 07.04.2004 (Ср) 12:18

2 Codemaster: Согласен, унасекомил :) . Я просто стараюсь не работать с переменными форм, в основном именно из-за этого гемора. Вот с дефолтными инстансами форм это все как раз не нужно.

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 07.04.2004 (Ср) 16:09

это как раз нужно абсолютно со всем...
вот почитай на досуге
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

    TopList