|
#1
|
|||
|
|||
Люди Помогите!
Я создал проект грубо говоря 2 формы с парой элементов. Все вроде хорошо работает но есть одна проблема когда закрываешь это приложение он почему-то остается в памяти и весит в диспетчере задач и отъедает 9 метров памяти (это конечно не критично ) но все-таки не приятно. Как сделать так чтобы при закрытии приложения оно убиралось и памяти? (Мой препод по Делфи тока пожал плечами )
|
#2
|
||||
|
||||
А ты освобождаешь сам память у себя в программе методом Free ?
|
#3
|
|||
|
|||
Цитата:
White_Horse а вот с этого момента можно по подробней я Делфи занимаюсь дай бог всего 2 дня если не трудно обясни как сделать это. |
#4
|
||||
|
||||
Надо в методе главной формы прописать каждый элемент вот так:
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Элемент1_формы2.Free; Элемент2_формы2.Free; ... ЭлементN_формы2.Free; Form2.Free; Элемент1_главнойформы.Free; Элемент2_главнойформы2.Free; ... ЭлементN_главнойформы2.Free; Form1.Free; end; Хотя не думаю, что это выгрузит прогу из памяти... Кстати, каким образом твоя прога вырубается? |
#5
|
||||
|
||||
Может, ты не закрываешь главную форму, а просто оставляешь ее невидимой? Например, ты закрываешь Form2, а Form1 у тебя остается невидимой (visible=false). Тогда тебе может помочь это...
Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Form1.Close; end; |
#6
|
|||
|
|||
[quote=4erep_88]Может, ты не закрываешь главную форму, а просто оставляешь ее невидимой? Например, ты закрываешь Form2, а Form1 у тебя остается невидимой (visible=false). Тогда тебе может помочь это...
делаем так procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Form1.Close; Form2.show; end; и проходит вылет из программы |
#7
|
|||
|
|||
[quote=SSA]
Цитата:
Для закрытия всей программы: Присвой Значение Form1.Close; Для закрытия второй формы присвой Form2.Close; Для просто-го закрыытийа используй Close; Тож срабатываит НичеНепонимаю Савсем! Кто объяснит мне тот получит конфетку!!! |
#8
|
||||
|
||||
НичеНепониаю, SSA, вы очень интересно цитируете .
SSA, может, ты приведешь код всех модулей, скажешь наконец, каким образом ты закрываешь свою программу и вообще что ты хочешь видеть в своей проге? Я не понял ничего, кроме того, что ты сначала не можешь закрыть приложение, а потом тебе не нравится, что оно закрывается . |
#9
|
|||
|
|||
Чтобы нафиг полностью закрыть свою прогу поставь Объект.Кнопку на форму и пропиши дальше Application.Terminated...
И не придется прописывать все Form.Close для каждой формы... |
#10
|
|||
|
|||
Вобщем у меня ситуация токая на форме есть MainMenu как мне правильно организовать через него переход на другую форму?
|
#11
|
||||
|
||||
При нажатиии получиться процедура и там пишешь -
procedure TForm1.N1Click(Sender: TObject); begin Application.CreateForm(TForm2,Form2); end; Есть ещё методы : Form2.Show и т.д. остальное книги |
#12
|
||||
|
||||
еще вариант - Form2.ShowModal - показать как модальную
|