|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.02.2009, 16:10 | #1 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Уничтожение формы
В проекте есть форма, в опциях проекта она записана как доступная, т.е. автоматически не создается. Ее имя mOpenFile и создается при нажатии на кнопку:
Код:
Код:
лучший подарок женщине-программисту
|
17.02.2009, 16:22 | #2 |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
mOpenFile.Free - не обязательно ...
достаточно будет mOpenFile.Close ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
17.02.2009, 16:22 | #3 |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
Если уничтожаем, то mOpenFile.Destroy
|
17.02.2009, 16:28 | #4 |
Пользователь
Регистрация: 12.02.2009
Сообщений: 62
|
Код:
|
17.02.2009, 16:34 | #5 | |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
Цитата:
Просто при закрытии основной программы она вычистит все созданные ею формы и Destroy вообще может не понадобится.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
|
17.02.2009, 17:10 | #6 |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
Ну, chandrasecar хотел уничтожить окно...
|
17.02.2009, 17:31 | #7 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
Благодарю всех за ответы. Дело вот в чем. Форма mOpenFile имеет кнопку "Отмена", к которой привязан
Код:
При запуске программы, она занимает память в 18 Мб, а при вызове окна mOpenFile - 26 Мб. После уничтожения этого окна - 25 Мб. Я думаю что память не вычищяется полностью.? И потом как привязать код выше к кнопке на форме которую уничтожаем?
лучший подарок женщине-программисту
|
17.02.2009, 17:42 | #8 |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
Чо-то слишком много у вас форма занимает памяти...
Если я правильно понял, то лучше сделать так: mOpenFile.ShowModal, кнопкам присвоить mOpenFile.ModalResult и всё. |
17.02.2009, 17:45 | #9 | |||
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
Цитата:
Цитата:
Цитата:
Если же конечно форма немодальная. С модальной немного проще - просто кнопке в этом случае присваиваешь какой-нибудь ModalResult и окно закроется само и к тому же вернет этот результат.
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
|||
17.02.2009, 18:47 | #10 |
Форумчанин
Регистрация: 03.10.2008
Сообщений: 180
|
У меня форма mOpenFile получается модальной. Назначение таких форм - экономия ресурсов памяти. А у меня при каждом новом вызове формы занимаемая программой память увеличивается на 160 Кб (смотрел через диспетчер задач). Запуская проект, как я говорил выше, выделяется 18 Мб, запуская форму - 26 (+160 Кб при каждом новом вызове). По идее, применяя процедуру Free, должно сново быть 18 Мб. Дело в том что таких форм много, и при работе с программой, придется запастись большим объемом ОЗУ.
Судя по всему, созданные формы копятся в памяти... Как память освободить от таких форм? Кстати, пробовал ShowModal - ничего... Вот так вызываем: Код:
Код:
лучший подарок женщине-программисту
Последний раз редактировалось chandrasecar; 17.02.2009 в 18:56. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Уничтожение потока | SNUPY | Общие вопросы Delphi | 2 | 11.02.2009 22:47 |
Автоматическое уничтожение объекта | mutabor | Общие вопросы Delphi | 6 | 25.06.2008 22:25 |
Создание/уничтожение объектов | nimf | Общие вопросы Delphi | 10 | 14.04.2008 10:54 |
Уничтожение окна | Kashp | Win Api | 20 | 07.09.2007 14:15 |