Unload Form1
Set Form1 = Nothing
Dim frmD As New frmDocument
frmD.Show
SLIM писал(а):А если это не так, то значит при методе Shoqw происходит и загрузка формы.
Вот дошел до момента взаимодйствия между формами.
На данный момент я действую методом Show. Но что-то мне подсказывает что это не правильно (видимо название говорит мне). Соответственно закрытие методом Hide.
Слышал про оператор Load, но как им пользоваться не знаю.
зачем нужны MDI формы, т.е. зачем я знаю, кто-нибудь использовал и для чего?)
А что происходит при загрузке многоформового приложения?
Загружается только одна форма? Или все?
а с помощью Dim ты сможешь загрузить столько копий form, сколько тебе нужно.
Public fMainForm As frmMain
Sub Main()
Set fMainForm = New frmMain
fMainForm.Show
End Sub
Set fMainForm = New frmMain
fMainForm.Show
Set fPropForm = New frmProperties
fMainForm.Show 0, fMainForm
Set fToolsForm = New frmToolbar
fMainForm.Show 0, fMainForm
Proxy писал(а):Кстати: а чем плохо выгружаться через END при необходимости завершить прогу?
alibek писал(а):Если при выгрузке формы программа не завершается, значит у тебя в программе недоработка. По End ты ее не увидишь.
Ни загружается ни одного экземмпляра форм. Слово загружается здесь вообще не уместно.
Я напоминаю ещё раз, что форма это класс, и на неё распространяется всё то же поведение, что и на классы. Задай себе вопрос: "Что происходит при загрузке многоклассового приложения? Загружаются все классы или только один?" и сразу поймёшь, насколько это тупо.
А что по поводу "выгрузке формы"? Что происходит при закрытии формы.
И опять таки. New Form создается при открытии формы (Любой)? Т.е. в этот момент создается та самая ссылка New?
Если я правильно понял, то мысль была следующая:SLIM писал(а):И опять таки. New Form создается при открытии формы (Любой)? Т.е. в этот момент создается та самая ссылка New?
Вот пример хороший:
Скрытие. Ничего более.
Если вопрос был именно этот, то ответ: "Нет".
при загрузке формы1 проверяются некоторые значения, при получении определенного результата форма загружается
при выполнении процедуры Main() проверяются некоторые значения, при получении определенного результата форма загружается
Private Sub Command1_Click()
Dim Copia As Form 'Объявляем переменную типа Form
Set Copia = New Form1 'Создаем экземпляр класса Form1
Load Copia 'Загружаем экземпляр
Copia.Show 'Выводим на экран
Set Copia = Nothing 'Уничтожаем ссылку на экземпляр формы (сам он остается в памяти)
End Sub
ПослеДенис писал(а):
- Код: Выделить всё
Private Sub Command1_Click()
Dim Copia As Form 'Объявляем переменную типа Form
Set Copia = New Form1 'Создаем экземпляр класса Form1
Load Copia 'Загружаем экземпляр
Copia.Show 'Выводим на экран
Set Copia = Nothing 'Уничтожаем ссылку на экземпляр формы (сам он остается в памяти)
End Sub
Set Copia = Nothing
Set Copia = Nothing
Private Sub Command1_Click()
Dim Copia As Form 'Объявляем переменную типа Form
Dim Copia2 As Form
Set Copia = New Form1 'Создаем экземпляр класса Form1
Set Copia2 = Copia
Load Copia 'Загружаем экземпляр
Copia.Show 'Выводим на экран
Set Copia = Nothing 'Уничтожаем ссылку на экземпляр формы (сам он остается в памяти)
End Sub
Так вот оно, уточненный вариант. Явной ссылки нет, однако форма вполне себе останется жить как на экране, так и в коллекции Forms.Viper писал(а):Послев памяти уже ничего не остается, вернее остается странный объект без явной ссылки на него.
- Код: Выделить всё
Set Copia = Nothing
в памяти уже ничего не остается, вернее остается странный объект
Set Copia = Nothing
Сейчас этот форум просматривают: Yandex-бот и гости: 23