![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Подскажите как очистить оперативную память при закрытии одной из форм.
Пробывал как к дельфи типа Free, Clear, таких нет зарез-х слов... Плиз подскажите... ![]() |
|
|
|
|
| Реклама: | свадебные кольца 585 каталог и цены | конфетный букет из рафаэлло | наполнитель для галтовки пластик | путешествие на корабле по волге в сентябре | Лучшие замороженные пюре: сироп зеленое яблоко - заказывай на сайта АГРОБАР! |
|
|
#2
|
|
Отвечает самовар
![]() Форма это тоже компонент и как у компонента у нее есть родительский класс в котором есть Деструктор , вот в коде деструктора можно записать все что нужно будет очистить. Каждый компонент на форме как и сама форма наследует интерфейс Icomponent в котором есть метод Dispose() который и чистит память от мусора. Можно сделать копию деструктора в другом классе и оттуда его вызывать как обычную функцию. PS: Если напутал поправьте. PSS: Прямой возможности очистить память вроде как нету только через этот метод...
__________________
Проблема есть следствие ее решения... Чем больше я узнаю, тем больше чувствую себя дураком. |
|
|
|
|
|
|
#3
|
|||||||||||||||||||||||
я когда начинал учить j2me тоже над этим задумался. там идёт авто сборка мусора, и даже нет такого зарезервированного слова delete. в решётке аналогично. ну а принудительно запустить очистку так: Код:
GC.Collect(); GC.WaitForPendingFinalizers();
__________________
THE TRUTH IS OUT THERE |
||||||||||||||||||||||||
|
|
|
|
|
#4
|
|
Подскажите как сделать проверку на пустое поле, проверка запускает по слику по кнопки если поле textBox пустое то вылетает сообщение что поле не заполнено...
Написал такой код ну он что не проходит textBox1.Text = ""; { MessageBox.Show("Поле пустое!", "Сообщение"); } |
|
|
|
|
|
|
#5
|
|
Неактивный пользователь
Пол:
Регистрация: 13.07.2007
Сообщений: 51
Репутация: 12
|
Попробуй так.
if (textBox1.Text == "") { MessageBox.Show("Поле пустое"); } или так if (textBox1.Text.Length == 0) { MessageBox.Show("Поле пустое"); } |
|
|
|
|
|
#6
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Banned
Пол:
Регистрация: 26.10.2005
Сообщений: 218
Репутация: 73
|
Используй using { ... создание объектов } // а после выхода из блока эти объекты сами удалятся Добавлено через 5 минут
Можно использовать валидаторы для формы Можно через блок try... Добавлено через 7 минут
Length - это кажись функция, т.е. Length() Последний раз редактировалось ligth_user; 11.07.2008 в 09:04.. Причина: Добавлено сообщение |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
#7
|
|
Постоялец
![]() ![]() Пол:
Регистрация: 30.10.2006
Сообщений: 270
Репутация: 197
|
для этого используется статический метод типа string
Код:
if (string.IsNullOrEmpty((textBox1.Text.Trim())))
{
MessageBox.Show("Empty");
}
else
{
MessageBox.Show("NotEmpty");
}
|
|
|
|
|
|
#8
|
|
Неактивный пользователь
Пол:
Регистрация: 30.01.2007
Сообщений: 7
Репутация: 0
|
С удалением объектов новичку не нужно заморачиваться - все сделает сборщик мусора. Пока нету понимания, как он работает, что такое IDisposable, Finalizer и прочее - не надо трогать using {}, dispose() и прочее. Лучше врядли станет.
Если есть желание разобраться - читаем MSDN про Garbage Collector, IDisposable.. |
|
|
|
|
|
#9
|
|
Добрый день. Как скомпилировать программу в visual studio 2008?
|
|
|
|
|
|
|
#10
|
|
Неактивный пользователь
Пол:
Регистрация: 28.06.2008
Сообщений: 11
Репутация: 2
|
|
|
|
|
|
|
#11
|
|
Нафига остальные отвечали если в самом начале сказано что сабж вобще не нужен, сборщик сам все сделает, то что иногда он держит в памяти некоторые данные (иногда можно такое наблюдать при отладке) не значит что они не нужны, скорее всего их на данный момент использует какой - то другой процесс...
Забудьте про очистку памяти - занимайтесь написанием правильного кода. Там где вы не освободите ресурсы - компилятор сам ткнет вас носом...
__________________
http://maxlermedia.com |
|
|
|
|
|
|
#12
|
|
Неактивный пользователь
Пол:
Регистрация: 14.06.2008
Сообщений: 12
Репутация: 1
|
Вызывать сорщик мусора не самый лучший вариант, производительность падает в разы, даже Microsoft об этом писала. Лучше принудительно вызывать Dispose() |
|
|
|
|
|
#13
|
|||||||||||||||||||||||
|
Неактивный пользователь
Пол:
Регистрация: 09.01.2008
Сообщений: 11
Репутация: 2
|
Можно так-же воспользоваться методом Equals объекта: Код:
if(textBox1. Equals(""))
{
MessageBox.Show(Текст не введён.");
}
else
{
MessageBox.Show("Текст введён.");
}
|
|||||||||||||||||||||||
|
|
|
| Сказали спасибо: |
|
|
#14
|
|||||||||||||||||||||||
Вызов Dispose() не вызывает GC.Collect(); То есть память при вызове Dispose() освобождена не будет. А нужен он для того чтобы его вызвал GC когда решит освободить память занимаемую объектом. IDisposable.Dispose - метод
__________________
Утверждением ничего нельзя утвердить. Отрицанием ничего нельзя отвергнуть. |
||||||||||||||||||||||||
|
|
|
|
|
#15
|
|
Новичок
Пол:
Регистрация: 17.12.2006
Сообщений: 9
Репутация: 0
|
может CLS?! =) или crt, что значит попробовал????????
|
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| практическая задача для профи | W.D.kulibin | PHP | 2 | 16.09.2009 13:40 |
| Профи DVD-Video | Frayar | Архив | 2 | 21.07.2008 19:25 |
| Профи / Vault, The /2005 | Meverik | Зарубежные фильмы | 0 | 08.06.2005 21:35 |
|
|