|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Передача форме статус главной
Помогите пожалуйста,у меня есть две формы первая form1,вторая form2.
При создании програмы создаеться form1 и присваиваеться ей по умолчанию что она главная. на form1 есть button1,по ее нажатии я хочу чтобы открывалась form2 и при этом ей передовалось статус главной,чтобы в итоге я мог удалить и освободить form1 и показать form2.. я не могу это сделать если form1 будет главной,потому что при особождении form1.free закрываеться вся программа. Поэтому я хочу вначале присовить form2 главную,затем освободить form1. Код:
Procedure TForm1.Button1Click(Sender: TObject); begin Application.MainForm:=Tform2; Form2.Show; Form1.Free; end; end. Вот процедура.Когда я присваиваю Form2 дельфи ругается что mainform возможна только для чтения E2129 Cannot assign to a read-only property что делать? как сделать ее не только для чтения или другой метод? Вообщем как реализовать,подскажите пожалуйста. я думал про Hide. Метод hide хорош,но если на форме куча мегабайтной информация и я ее больше при закрытии никогда не вызову,так зачем ей висеть в памяти...конечно сейчас в наше время оперативы хоть отбавляй,но все таки. Последний раз редактировалось Admin, 20.09.2009 в 16:02. |
#2
|
||||
|
||||
Главная форма в рантайме не меняется. Придмувай другой подход.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
||||
|
||||
создавай отдельную форму, которая будет главной, и с нее открывай и закрывай все остальные формы
Поживу - увижу, Доживу - узнаю, Выживу - учту. [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|