Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.26;
Скачать: CL | DM;

Вниз

Как сделать, чтобы она форма закрвалась, а вторая появлялась.   Найти похожие ветки 

 
Zolotov   (2002-12-15 15:20) [0]

У меня 3 формы. MainForm и 2 дополнительные, на каждой форме по 2 кнопки. MainForm всегда открыта. При нажатии на одну из кнопок MainForm делается невидимой и появляется вторая форма. А как сделать, чтобы при нажатии на кнопку на второй форме появлялась третья, а вторая закрывалась и освобождалась из памяти? После 3-й четвертая и обратно.
Заранее благодарен.


 
Calm   (2002-12-15 15:23) [1]

На клик кнопи во второй форме пишеш
Form3:=TForm3.Create(application); // т.к. форму не только показываем, но и создаем
Form3.Show;
Close;


В обработчике OnClose у Form2 нужно написать Action:=caFree,
чтобы форма не просто закрылась, но и освободилась


 
Zolotov   (2002-12-15 15:32) [2]

Я уже так делал 1000000 раз не получается. Следующая форма создается и появляется, а вот предыдущая не закрывается и видна, только она пассивна. И если вызывать предыдущую форму, она создается повторно и так до определенного момента, пока память не будет перегружена. После чего выдается сообщение о перегрузке памяти и приложение закрывается, причем оно занимает память и снять его можно только по Ctrl+Alt+Del.


 
Calm   (2002-12-15 15:38) [3]

Значит что-то где-то не то...


 
Zolotov   (2002-12-15 15:49) [4]

Дело в том, что если мы с основной формы запускаем любую форму, тогда это срабатывает, а вот если не с основной, а со 2-й, 3-й и т.д. тогда ничего не получается. Нужно как-то по другому закрывать форму. Close в данном случае вообще не срабатывает.


 
Calm   (2002-12-15 15:56) [5]

Странно...
Может нельзя писать
Form3:=TForm3.Create( Form2); ?


 
Zolotov   (2002-12-15 16:05) [6]

А что означает (Form2). Это для чего? Я думаю, что нужно как-то Destroy Form2. Например Application.Destroy(TForm2, Form2). Но, такого нет. Может быть есть, что-то подобное?


 
Calm   (2002-12-15 16:21) [7]

Параметр метода TForm.Create() AOwner:TComponent обозначает того, кто будет эту форму освобождать, если она не будет освобождена программистом явно. Если указать Apllication, то форма будет освобождена при завершении приложения. Если указать nil, то если явно не освободить форму, то она так и останется (память не освободится)

Вариант Application.Destroy(TForm2, Form2) указывает на то, что с темой Вы явно не знакомы.
Скорее всего, требуется почитать книжки.



Страницы: 1 вся ветка

Текущий архив: 2002.12.26;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.007 c
14-86161
Uran
2002-12-06 16:53
2002.12.26
Откуда можно скачать программу DMFC, для чтения этого форума?


3-85800
Kirill Shapovalov
2002-12-06 10:00
2002.12.26
Сортировка в DBGrid


14-86184
Zhirnov Maxim
2002-12-07 13:23
2002.12.26
Версия СТЭМа ФАИТ песни Belle из оперы Noterdam-De-Pari


1-85928
Jeka
2002-12-17 13:48
2002.12.26
Windows Media Player в трей


1-85897
безумный ламер
2002-12-16 11:41
2002.12.26
Траблы с иконками...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский