Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Скажем: "Нет!!!" второму экземпляру форм Добавлено: 11.08.04 15:05  

Автор вопроса:  Barulya
Народ подскажите пожалуйста, как поступить, если необходимо запретить из приложения, запущенного в трее, запуск второго экземпляра формы. Т.е. первоначально, при запуске приложения, форма не запускается, а запускается при выполнении команды контекстного меню, но если повторно вызвать выполнение команды запускается второй экземпляр формы. Код вызова формы:
Dim frmM As New frmLook()
frmM.Show()
frmM = Nothing
Название формы меняется в зависимости от даты (изначально).

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #1 Добавлено: 11.08.04 15:12
Dim frmM As New frmLook()
Вынеси куда-нибудь в лоад...

Ответить

Номер ответа: 2
Автор ответа:
 Barulya



Вопросов: 29
Ответов: 55
 Профиль | | #2 Добавлено: 11.08.04 15:14
Не хочу преждевременно загружать форму память- форма мне нужна не постоянно, а только по требованию

Ответить

Номер ответа: 3
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #3
Добавлено: 11.08.04 19:09
А в чем проблема? Когда нужно, тогда и загружай:

Dim f As New Form1
f.Show

Ответить

Номер ответа: 4
Автор ответа:
 Barulya



Вопросов: 29
Ответов: 55
 Профиль | | #4 Добавлено: 16.08.04 18:15
В том, то все и дело, что когда форма закрывается память отведенная под приложение не освобождается frmM=Nothing не помогает. Как быть

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 16.08.04 18:20
При закрытии формы память не освобождается.
Она освободится при вызове сборки мусора, происходит сборка мусора
тогда, когда заполнится объем памяти, отведенный приложению.
Сборку мусора можно вызвать вручную, для этого используется метод
Collect класса GC.

Почитайте про автоматическое управление памятью в .NET, если не
ошибаюсь, статья об этом есть на этом сайте.

Ответить

Номер ответа: 6
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #6 Добавлено: 16.08.04 18:22
Блин, Павел опередил:)))
2Barulya, короче ключевое слово "Garbage Collector"

Ответить

Номер ответа: 7
Автор ответа:
 Barulya



Вопросов: 29
Ответов: 55
 Профиль | | #7 Добавлено: 16.08.04 18:33
Спасибо, посмотрю...

Ответить

Номер ответа: 8
Автор ответа:
 Barulya



Вопросов: 29
Ответов: 55
 Профиль | | #8 Добавлено: 16.08.04 18:48
Чего-то у меня не получается.. После закрытия формы вызываю этот метод- никакой реакции...

Ответить

Номер ответа: 9
Автор ответа:
 Barulya



Вопросов: 29
Ответов: 55
 Профиль | | #9 Добавлено: 16.08.04 19:39
Дело в том, что я использую следующий код
        SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1)
        Try
            System.Windows.Forms.Application.Run()
        Catch ex As Exception
        Finally
            t.Dispose()
        End Try
Сам процесс занимает порядка 3Мб
И при нажатии на икону в трее загружается форма в виде модального окна, (~14Мб) после закрытия формы я запускаю метод Colleсt (14 МБ). Что можно сделать???

Ответить

Номер ответа: 10
Автор ответа:
 Barulya



Вопросов: 29
Ответов: 55
 Профиль | | #10 Добавлено: 16.08.04 19:44
Да вот еще что на форме я использую контролы: Timer, ImageList (с иконами), ContextMenu, может быть они не выгружаются???

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам